在基本分页中,我们获得了一些下一个用于加载更多数据的URL,但是如果这些数据也具有更多的分页数据,那么我该如何自定义并为不同的数据使用不同的参数:
?page=2 to ?posts=2&comments=1
然后将一个用于另一个,另一个用于另一个。
我正在使用具有主要UserResource的api资源,该API资源使用PostsResource返回使用分页的帖子,并返回CommentsResource,同时也使用分页。
答案 0 :(得分:0)
您可以在分页中更改页面名称。
这是未记录的,但是分页方法如下:
public function paginate($perPage = 15, $columns = ['*'], $pageName = 'page', $page = null) {
因此您可以像这样设置pageName
参数:
Post::paginate(15, '[*]', 'posts')
Comment::paginate(15, '[*]', 'comments')
如果您使用的是刀片,它可能看起来像这样:
$posts->appends(array_except(Request::query(), 'posts'))->links();
$comments->appends(array_except(Request::query(), 'comments'))->links();
考虑到您使用的是api,则可以使用meta key访问当前页面。
例如
posts.meta.current_page
comments.meta.current_page
还有一个setPageName method,您可以在其中设置pageName
例如
$posts = Post::paginate(15);
$posts->setPageName('posts');