在Laravel Lumen API项目中,我想获取分页记录的第2页。但这并没有给我带来任何结果。
$query = DB::table('cars');
$query->paginate(2, ['*'], 'page', 2);
$data = $query->get();
我如何实现呢?
感谢帮助。
答案 0 :(得分:4)
要在Lumen / Laravel中分页记录,只需使用paginate()
函数。它接受页码作为查询参数,您无需显式定义它。
此外,您无需将->get()
与paginate()
添加。
//第二页的网址为:
http://example.com/something?page=2
//分页器代码应为
$data = DB::table('cars')->paginate(2);
此处的参数(2)表示限制-要显示的记录数。
答案 1 :(得分:1)
您可以使用自己的代码
将表添加到构建器实例
$query = DB::table('cars');
看起来不错
为构建器分页
$query->paginate(2, ['*'], 'page', 2);
看起来不错
但是您可以不使用prevoius方法进行修改,因此将应用分页,但是您无法访问
$paginated = $query->paginate(2, ['*'], 'page', 2);
可以正常工作
已编辑
正如您所说的,由于您已对页码进行了硬编码,因此记录中没有变化
所以
$paginated = $query->paginate(2, ['*'], 'page');
将完美工作
从函数中删除最后一个参数 2 之后
现在$ paginated会赋予LengthAwarePaginatorInstance
因此,您需要将$paginated
传递给 Json
希望很清楚
答案 2 :(得分:1)
流明中的分页应该与Laravel一样。
根据文档https://laravel.com/docs/5.8/pagination#basic-usage
要获取任何分页结果的页码,请使用您要检索的页面设置send?page查询字符串参数。