В базовой разбивке по страницам мы получаем следующий URL для загрузки большего количества данных, но если эти данные также содержат больше данных с разбивкой по страницам, как я могу настроить и использовать разные параметры для разных данных:
?page=2 to ?posts=2&comments=1
И затем использовать один для одного, другой для другого ..
Я использую ресурс API с основным UserResource, который возвращает сообщения с PostsResource, который использует нумерацию страниц и возвращает CommentsResource, который также использует нумерацию страниц.
Вы можете изменить имя страницы в нумерации страниц.
Это не документировано, но метод paginate выглядит так:
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, вы можете получить доступ к текущей странице, используя мета-ключ.
например.
posts.meta.current_page
comments.meta.current_page
Также есть метод setPageName где вы можете установить pageName
например.
$posts = Post::paginate(15);
$posts->setPageName('posts');
Других решений пока нет …