Пагинация
public function pagination(): Pagination
{
return Pagination::make(default: 20, max: 100);
}или, на запросе, ->pagination(default: 20, max: 100).
Тогда запрос клиента может передать page и per_page:
GET /users?page=3&per_page=50Оба проверяются вместе с остальным запросом (page от 1, per_page от 1 до максимума), и paginate() или simplePaginate() без явного размера страницы используют их. Ссылки пагинации сохраняют строку запроса.
Имена параметров
Pagination::make(pageParameter: 'p', perPageParameter: 'pageSize')читает номер и размер страницы под другими именами — для API, где они уже используются. Ссылки и сообщения об ошибках следуют за ними.
Ограничение номера страницы
Pagination::make(maxPage: 500)ограничивает page для списков, где глубокие смещения дороги. Страница, смещение которой ((page - 1) × per_page) не помещается в целое число, отклоняется всегда.
Поиск по ключу
find(), findOrFail(), findMany() и подобные применяют фильтры, поля и подгрузки связей из запроса клиента, но не порядок его сортировок, который для них ничего не значит.