1. 数据库 DB 方式的分页,使用 paginate()方法,具体如下:
$users = DB::table( 'users ')->paginate(5);
return view( 'data ', [
'list ' => $users
]);
@foreach($list as $user) ...
PS:传递 5,表示每页显示 5 条,地址栏默认听过?page=2,来切换显示页数;
2. 模型创建分页,和 DB 方法一致,具体如下:
$users = User ::paginate(5);
3. 分页按钮直接使用 links()方法即可,它继承了 Bootstrap 样式;
{{$list->links()}}
4. 使用 withPath()方法,更改路由地址;
$users->withPath( '/users/list ');
5. 如果你想带指定参数,可以使用 appends()方法;
{{$list->appends([ 'sort '=> 'id '])->links()}}
6. 保存所有查询参数,可以使用 withQueryString()方法;
{{$list->withQueryString()->links()}}
7. 使用 fragment()方法给 URL 地址#符号;
{{$list->fragment( 'element ')->links()}}
8. 大量分页中...省略分页数量,使用 onEachSize()方法可设置外侧数量,默认 3;
{{$list->onEachSide(1)->links()}}
二.更多方法
1. 还有大量方法可供使用,具体如下:
方法 | 描述 |
$results->count() | 获取当前页数据的数量 |
$results->currentPage() | 获取当前页页码 |
$results->getUrlRange($start, $end) | 创建分页 URL 的范围 |
$results->hasPages() | 是否有多页 |
$results->hasMorePages() | 是否有更多页 |
$results->firstItem() | 获取结果集中第一条数据的结果编号 |
$results->getOptions() | 获取分页器选项 |
$results->items() | 获取当前页的所有项 |
$results->lastItem() | 获取结果集中最后一条数据的结果编号 |
$results->lastPage() | 获 取 最 后 一 页 的 页 码 。 (在 simplePaginate 无效) |
$results->nextPageUrl() | 获取下一页的 URL |
$results->onFirstPage() | 当前页是否为第一页 |
$results->perPage() | 每页的数据条数 |
$results->previousPageUrl() | 获取前一页的 URL |
$results->total() | 数据总数 (在 simplePaginate 无效) |
$results->url($page) | 获取指定页的 URL |
$results->getPageName() | 获取分页的查询字符串变量 |
$results->setPageName($name) | 设置分页的查询字符串变量 |