如何从分页记录中获取第 2 页

How to get page 2 from paginated records

进入 Laravel Lumen API 项目,我想获取分页记录的第 2 页。但它没有给我任何结果。

$query = DB::table('cars');
$query->paginate(2, ['*'], 'page', 2);
$data = $query->get();

如何实现?

感谢您的帮助。

尽你所能编写代码

Adding the table to builder instance

$query = DB::table('cars'); 看起来不错

Paginate the Builder

$query->paginate(2, ['*'], 'page', 2); 看起来不错

但是你可以你没有chaning使用prevoius方法所以分页将被应用但是你不能访问so

$paginated = $query->paginate(2, ['*'], 'page', 2); 会很好

已编辑

正如您所说,记录没有变化,因为您已经硬编码了页码

所以

$paginated = $query->paginate(2, ['*'], 'page'); 将完美运行

从函数

中删除最后一个参数 2 之后

现在 $paginated 将提供 LengthAwarePaginatorInstance

所以你需要将$paginated传递给Json

希望清楚

Lumen 中的分页应该与 Laravel 相同。

根据文档 https://laravel.com/docs/5.8/pagination#basic-usage

要获取分页结果的任何页码,请将 send ?page 查询字符串参数设置为您要检索的页面。

要对 Lumen/Laravel 中的记录进行分页,只需使用 paginate() 函数即可。它接受页码作为查询参数,您不需要明确定义它。

此外,您不需要添加 ->get()paginate()

// 对于第二页,url 将是:

http://example.com/something?page=2 

// 分页代码为

$data = DB::table('cars')->paginate(2);

这里参数(2)表示limit-显示的记录数。