laravel框架分页
2.数据分页
在laravel里面要完成分页是很简单的,它的思想之前的框架有些不一样,之前框架使用的是分页类完成分页,laravel是直接调用模型的分页方法,返回对应的数据和分页的字符串。
https://learnku.com/docs/laravel/8.x/pagination/9402
2.1.查询构造器分页
数据分页有多种方法。最简单的是使用 查询构造器 或 Eloquent query 的 paginate 方法。paginate 方法根据用户浏览的当前页码,自动设置恰当的偏移量 offset 和限制数 limit。默认情况下,HTTP 请求中的 page 查询参数值被当作当前页的页码。 Laravel 会自动检测该值,并自动将其插入到分页器生成的链接中。
在下面的例子中,传递给 paginate 方法的唯一参数是你想要在每页显示的记录数。在此例中,我们指定要在每页显示 2 条数据:
2.1.1.详细分页
public function list() { $members = DB::table('member')->paginate(2); return view('list', ['members' => $members]); }
2.1.2.简单分页
$users = DB::table('members')->simplePaginate(2);
2.2 Eloquent 分页
$members = App\Models\Member::paginate(2); $members = Member::where('votes', '>', 100)->paginate(15); $members = Member::where('votes', '>', 100)->simplePaginate(15);
2.3 显示分页结果
<div class="container"> @foreach ($members as $member) {{ $members->name }} @endforeach </div> {{ $members->links() }}
分页样式只显示上一页和下一页,中间的页码不显示,显示效果会发生样式错乱,是因为

修改源码改成默认配置为 bootstrap
● 修改这个目录下面的文件 vendor/laravel/framework/src/Illuminate/Pagination/AbstractPaginator.php 116行 124行


引入CSS3文件显示漂亮样式
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
2.4 附加参数到分页链接
{{ $users->appends(['sort' => 'votes'])->links() }}
如果你想要把所有的查询参数值添加到分页链接,可以使用 withQueryString 方法:
{{ $users->withQueryString()->links() }}
2.5 获取分页信息


浙公网安备 33010602011771号