Как отформатировать пагинацию в laravel?

Я хочу отформатировать разбиение на страницы в laravel следующим образом:

api/posts?from=1&to=10

Я пытался:

$posts = new LengthAwarePaginator(Post::all(), 100, 10);
return $posts->toArray();

Что вообще не сработало :( Помогите, пожалуйста

Вы хотите изменить названия параметров запроса?

Prisacari Dmitrii 07.09.2018 14:23
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
1
212
2

Ответы 2

Вы можете просто вернуть объект разбиения на страницы как показано в документации.

ваш URL-адрес должен быть api / posts? limit = 10

и вы можете использовать в своем контроллере как

Post::paginate(request('limit'));

это порождает

{
"total": 50,
"per_page": 15,
"current_page": 1,
"last_page": 4,
"first_page_url": "http://laravel.app?page=1",
"last_page_url": "http://laravel.app?page=4",
"next_page_url": "http://laravel.app?page=2",
"prev_page_url": null,
"path": "http://laravel.app",
"from": 1,
"to": 15,
"data":[
    {
        // Result Object
    },
    {
        // Result Object
    }
]
}

чтобы получить следующую страницу в разбивке по страницам, ваш URL-адрес должен быть таким api / posts? page = {номер страницы} & limit = 10

лимит может быть изменен в соответствии с требованиями

Другие вопросы по теме