Дисциплины - Ресурсно-компонентное программирование

Основы разработки бэкенда на Laravel - Ресурсы в Laravel - Постраничная навигация в ресурсных коллекциях

Вместо коллекции записей в ресурсный класс можно передать объект пагинатора:

 public function index(){
  return new ProductResourceCollection(Product::paginate(10));
 }

Тогда JSON-объект сгенерированный ресурсным классом будет содержать следующие свойства:

  • data - массив с записями выбранной части;
  • links - значения пагинатора. Содрежит вложенный объект со следующими свойствами:
    • first - ссылка на первую часть пагинатора;
    • last - ссылка на последнюю часть пагинатора;
    • prev - ссылка на предыдущую часть пагинатора, или null если это первая часть;
    • next - ссылка на следующую часть пагинатора, или null, если это послденяя часть.
  • meta - данные о выводимой части пагинатора, со следующими свойствами
    • current_page - порядковый номер текущей части, начиная с 1;
    • last_page - порядковый номер последней части пагинатора;
    • per_page - предельное количество записей, входящих в выводимую часть;
    • from - порядковый номер первой записи, входящей в текущую выводимую часть пагинатора;
    • to - порядковый номер последней части, входящей в текущую выводимую часть пагинатора;
    • total - общее количество записей в коллекции;
    • path - текущая ссылка.

Класс ресурсной коллекции содержит еще два метода:

  • withQuery(<массив GET-параметров>) - позволяет добавить к ссылке дополнительные GET-параметры. Пример
 public function index(){
  return new ProductResourceCollection(Product::paginate(10))->withQuery(['search'=>'Laravel']);
 }
  • preserveQuery() - указывает включить в ссылку все GET-параметры, что присутствуют в запросе.

Количество комментариев: 0

Для того, чтобы оставить коментарий необходимо зарегистрироваться
20421 БГУИР
30421 БГУИР