Как обрабатывать несколько страниц с одной ссылкой

В базовой разбивке по страницам мы получаем следующий URL для загрузки большего количества данных, но если эти данные также содержат больше данных с разбивкой по страницам, как я могу настроить и использовать разные параметры для разных данных:

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

И затем использовать один для одного, другой для другого ..

Я использую ресурс API с основным UserResource, который возвращает сообщения с PostsResource, который использует нумерацию страниц и возвращает CommentsResource, который также использует нумерацию страниц.

0

Решение

Вы можете изменить имя страницы в нумерации страниц.

Это не документировано, но метод 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');
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector