如何使用一个链接处理多个分页

In basic pagination we get some next url for loading more data, but if those data have more data with pagination as well, how can I customize and use different parameters for different data:

?page=2 to ?posts=2&comments=1

And then use one for one, other for other..

I am using api resource with main UserResource which returns posts with PostsResource which uses pagination and returns CommentsResource whicch uses pagination as well.

You can change the page name in the pagination.

This is un-documented, but the paginate method looks like this:

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

So you can set the pageName parameter like this:

Post::paginate(15, '[*]', 'posts')
Comment::paginate(15, '[*]', 'comments')

If you were using blade, it might look like this:

$posts->appends(array_except(Request::query(), 'posts'))->links();
$comments->appends(array_except(Request::query(), 'comments'))->links();

Considering you are using an api, you could access the current page using the meta key.

eg.

posts.meta.current_page
comments.meta.current_page

There is also a setPageName method where you can set the pageName

eg.

$posts = Post::paginate(15);
$posts->setPageName('posts');