gpt4 book ai didi

php - Laravel api分页指定页面

转载 作者:行者123 更新时间:2023-12-05 08:40:17 24 4
gpt4 key购买 nike

我在 url 中发送带有 perPage 和 page 的请求。那就是

url = users?page=0&perPage=10 //the get http url

所以我想对我的模型请求进行分页,并指定 page 和 perPage

User::paginate()

所以在文档中我看到我可以添加 perPage 但我看不到如何添加页面。所以来自laravel documentation我看到你可以像这样添加 perPage

User::paginate($request->get('perPage')) //perPage from url request

但是现在我如何将页面参数添加到分页,这样我就可以指定像 0 这样的页面值

我该如何进行?

我还查看了 This question但它没有显示如何在 Eloquent 模型分页中设置它

最佳答案

Illuminate/Database/Eloquent/Builder 中的 paginate 方法具有以下签名:

public function paginate($perPage = null, $columns = ['*'], $pageName = 'page', $page = null)

只要您的 url(查询字符串)中有 page=n(n 表示数字 > 0,即:page=2),您就不需要页码传入 paginate 方法。如果你想的话,你可以使用类似下面的东西来做到这一点:

$users = User::paginate(
10, // per page (may be get it from request)
['*'], // columns to select from table (default *, means all fields)
'page', // page name that holds the page number in the query string
10 // current page, default 1
);

仅供引用,Laravel 使用 Illuminate/Pagination/AbstractPaginator:: resolveCurrentPage 解析当前页面在 Illuminate/Pagination/PaginationServiceProvider:: currentPageResolver 中设置(解析器)的方法注册服务提供商时的方法。

如果您不知道,您也可以省略 perPage 因为默认情况下 Laravel15 记录组成 block 并且它已设置在基础模型中,您可以使用以下方法在您的模型中覆盖它:

protected $perPage = 10;

因此,您可以只使用 User::paginate(),这将为您提供 10 个项目/每页。

注意:api 链接是为 5.6 提供的,但在这种情况下它在更高版本中是相同的 (AFAIK)。

关于php - Laravel api分页指定页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56517666/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com