雅安论坛

标题: laravel如何分页 [打印本页]

作者: 匿名    时间: 2022-11-20 21:38
标题: laravel如何分页
传统分页
在平常的代码撰写中,分页是一个比较头疼的一件事,总结一下,现在分页可以分为两种分页大类,分别是后端分页及前端分页。
前端分页就是后台将数据库中的全部或部分数据传输至前台,前台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() }}。
后端处理代码如下:
  1. /*
  2. * 后台用户管理页面方法
  3. */
  4. public function index(){
  5.     //计算数据库中的用户条数
  6.     $count = DB::table("user")->count();
  7.     //正序读取数据并执行分页
  8.     $data = DB::table("user")->orderBy("id","asc")->paginate(10);
  9.     //加载页面
  10.     return view('admin.user.index')->with('data',$data)->with('count',$count);
  11. }
复制代码
前台显示代码:
  1. <div class="admin-page">
  2.     {{ $data->links() }}
  3. </div>
复制代码
出处:https://www.debuginn.cn/3119.html






欢迎光临 雅安论坛 (https://www.yaanbbs.net/) Powered by Discuz! X3.4