gpt4 book ai didi

php - Laravel Eloquent 分页控制带路由的页码

转载 作者:可可西里 更新时间:2023-11-01 13:14:13 43 4
gpt4 key购买 nike

文章::分页(10)此代码将返回前 10 篇文章,如果我想返回接下来的 10 篇带有路由的文章怎么办?例如,url mypage.com/articles/2 将从数据库中返回第 2 篇 10 篇文章。
这是到目前为止我所拥有的:
路线:

Route::get('articles/{page_number}', 'Controller@getArticles')

Controller :

public function getArticles($page_num)
{
$perPage = 10;
Articles::getPaginator()->setCurrentPage($page_num);
$articles = Articles::paginate($perPage);
return $articles;
}

我可以使用类似 Articles::pageNumber($page_number)->paginate($perPage); 的东西吗?

最佳答案

Laravel paginator 会自动检查查询字符串中 page 的值,并使用它来对结果进行分页。结果还会自动生成下一个和上一个链接,帮助您直接添加。您无需更改任何内容即可使其正常工作。

在您的情况下,您可以在 View 中使用 $articles->links() 来生成分页导航按钮。但是如果你想手动设置页面,那么你可以这样做。

$articles = Articles::paginate(5, ['*'], 'page', $pageNumber);

默认的分页方法采用以下参数。

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

默认约定是

mypage.com/articles?page=2
mypage.com/articles?page=3

此外,如果您使用$articles->links() 生成导航按钮,您还可以自定义css。

查看 https://laravel.com/docs/5.4/pagination了解更多信息

关于php - Laravel Eloquent 分页控制带路由的页码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44077438/

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