Как в laravel 5.1 сделать пагинацию без строки запроса использую LengthAwarePaginator?

Хочу сделать пагинацию, только без уродливого ?page=. Пытаюсь использовать класс LengthAwarePaginator для этого. Передаю в конструктор параметры
$paginator = LengthAwarePaginator($authors, count($authors), 10, $page);

Где:
$authors - коллекция записей полученная из модели.
count($authors) - общее количество записей
10 - сколько выводить на странице
$page - текущая страница, которую я получаю из строки запроса, например example.ru/some_text/2 <- это номер страницы.

Получаю объект $paginator типа LengthAwarePaginator, перехожу по адресу example.ru/some_text/2 и хочу получить текущую страницу, которая равна 2, но в итоге получаю 1. Т.е. Laravel по прежнему хочет, что бы я обращался по адресу ?page=2. Так в чём смысл LengthAwarePaginator? И как такое можно реализовать? Спасибо!
  • Вопрос задан
  • 736 просмотров
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега Laravel
в итоге получаю 1
Что вы подразумеваете под этим?
$authors - это уже обрезанная коллекция?
Первым аргументом LengthAwarePaginator принимает коллекцию текущей страницы, а вторым - общее количество элементов на всех страницах. У вас передается одно и то же.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Fanamura
@Fanamura
Php-программист, Laravel
Можно использовать: https://packagist.org/packages/spatie/laravel-pagi...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы