Как обрабатывать несколько страниц с одной ссылкой - PullRequest
0 голосов
/ 11 декабря 2018

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

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

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

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

1 Ответ

0 голосов
/ 11 декабря 2018

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

Это не документировано, но метод разбиения на страницы выглядит следующим образом:

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

Таким образом, вы можете установить pageNameпараметр, подобный этому:

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

Если вы используете blade-сервер, он может выглядеть следующим образом:

$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');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...