正文 【Laravel基础】20. 数据分页 拾年之璐 V管理员 /2021年 /350 阅读 0220 ## 20. 数据分页 [TOC] ### 20.1 数据分页的使用 1、首先获取需要查询展示的数据,并且指定每页显示多少条数据: ```php //可以使用构造器方式 $users = DB::table('users')->paginate(5); //也可以使用模型的方式 $users = User::paginate(5); ``` 2、然后将数据返回给前端视图: ```php return view('data', [ 'list' => $users ]); ``` 3、接下来,在前端写代码,进行展示: ```html 标题 ID 姓名 性别 邮箱 @foreach($list as $user) {{$user->id}} {{$user->username}} {{$user->gender}} {{$user->email}} @endforeach {{$list->links()}} ```  4、如上代码,`分页按钮`直接使用 `links()` 方法即可,它默认继承了Bootstrap 样式; ```php {{$list->links()}} ``` > 如果不想使用这个默认的分页样式,可以自定义,分页样式view的具体文件位置: > > `vendor/laravel/framework/src/Illuminate/Pagination/resources/views/tailwind.blade.php` 5、使用withPath()方法,更改路由地址; 可以在`控制器端`修改: ```php $users->withPath('/users/list'); ``` 可以在前端的`分页按钮` 修改: ```php {{$list->withPath('/users/list')->links()}} ``` 也可以在`路由`中修改。 修改后,前端视图页面中的分页按钮的链接,就变成了 `http://127.0.0.1:8000/users/list?page=*` 。 6、如果想带`指定参数`,可以使用 `appends()` 方法; ```php {{$list->appends(['sort'=>'id'])->links()}} ``` 7、如果想`保存所有的链接参数`(比如查询参数),可以使用 `withQueryString()` 方法; ```php {{$list->withQueryString()->links()}} ``` 8、使用 `fragment()` 方法给URL 地址添加锚点 `#` 符号; ```php {{$list->fragment('element')->links()}} ``` 9、大量分页中...省略分页数量,使用 `onEachSize()` 方法可设置外侧数量,默认3; ```php {{$list->onEachSide(1)->links()}} ``` ### 20.2 更多方法 如下: | 方法 | 描述 | | ---------------------------------- | ----------------------------------------- | | $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) | 设置分页的查询字符串变量 | 以上。 本文采用创作共用版权 CC BY-NC-SA 3.0 CN 许可协议,转载或复制请注明出处! -- 展开阅读全文 --