Laravel5.8学习日常之分页

2019-12-23 17:46:19 浏览数 (1)

传统分页

在平常的代码撰写中,分页是一个比较头疼的一件事,总结一下,现在分页可以分为两种分页大类,分别是后端分页及前端分页。

前端分页就是后台将数据库中的全部或部分数据传输至前台,前台JavaScript语言进行数据截断分别展示,优点:省去了与后台的交互,减少对数据库的压力;缺点:要是数据量比较庞大,就会造成浏览器端处理数据延时大,界面加载缓慢。

后端分页分为页面有刷新请求及无刷新请求(Ajax请求),就是前台采用按钮事件或者Ajax请求的方式,告知后台进行分页,同时后台进行计算偏移量及当前页码,进行对应页码数据的请求,之后后台查询好数据进行向前台数据进行传递,前台数据根据接受的数据进行渲染响应。

Laravel分页

Laravel分页是典型的后台分页,不过它将分页进行了封装,只需要调用它封装好的数据就可以实现分页。

数据分页有几种方法。最简单的是使用 查询构造器 或 Eloquent query 的 paginate 方法。paginate 方法根据用户浏览的当前页码,自动设置恰当的偏移量 offset 和限制数 limit。默认情况下,HTTP 请求中的 page 查询参数值被当作当前页的页码。Lavarel 自动侦测该值,并自动将其插入到分页器生成的链接中。 在其它框架中,分页可能非常痛苦。Laravel 的分页器将 查询构造器 和 Eloquent ORM 结合起来,提供了方便、易用的数据库结果集分页。通过分页器生成的 HTML 兼容 Bootstrap CSS 框架。 laravel文档介绍

Laravel分页只需要两个步骤:

(1)控制器初始化方法增加paginate方法,向前台渲染数据即可;

(2)前台将添加一个Laravel自带的语法{{ $data->links() }}

后端处理代码如下:

代码语言:javascript复制
/*
 * 后台用户管理页面方法
 */
public function index(){
    //计算数据库中的用户条数
    $count = DB::table("user")->count();
    //正序读取数据并执行分页
    $data = DB::table("user")->orderBy("id","asc")->paginate(10);
    //加载页面
    return view('admin.user.index')->with('data',$data)->with('count',$count);
}

前台显示代码:

代码语言:javascript复制
<div class="admin-page">
    {{ $data->links() }}
</div>

本文链接:https://cloud.tencent.com/developer/article/1558272

本文采用CC BY-NC-SA 3.0 Unported协议进行许可,转载请保留此文章链接

0 人点赞