我有一个可以有很多评论的 Post 模型。当我在提要中列出帖子时 - 帖子和帖子评论都是分页的。问题是当我访问不是第一页的帖子提要页面时 - 帖子评论不是从第一页开始分页的。它们从与帖子相同的页面开始。
有没有办法总是强制 Laravel 从第 1 页开始相关实体分页?
我有一个可以有很多评论的 Post 模型。当我在提要中列出帖子时 - 帖子和帖子评论都是分页的。问题是当我访问不是第一页的帖子提要页面时 - 帖子评论不是从第一页开始分页的。它们从与帖子相同的页面开始。
有没有办法总是强制 Laravel 从第 1 页开始相关实体分页?
看起来发生这种情况的原因是两个分页器page
默认使用相同的查询参数值。见代码。
paginate()
您可以通过将方法调用的第三个参数提供给“comments_page”之类的内容来更改此行为。
$post->comments()->paginate(15, ['*'], 'comments_page');
现在,当您想查看评论的第一页时,您可以将comments_page
查询参数值传递给查询字符串。
http://localhost:8000/api/v1/feeds/all-posts?page=2&comments_page=1