@smilelan

Почему массив ресурсов не возвращает данные о пагинации?

У меня есть массив данных которые я возвращаю в контроллере, имеющий вид:

return [
            'posts' => PostResource::collection($posts->paginate()),
            'categories' => CategoryResource::collection($categories->get())
        ];

В таком случае данные о пагинации мне не придут, но если убрать массив и оставить возврат только одной коллекции, то данные пагинации приходят

return PostResource::collection($posts->paginate());
  • Вопрос задан
  • 65 просмотров
Пригласить эксперта
Ответы на вопрос 1
@NubasLol
Почему массив ресурсов не возвращает данные о пагинации?


Потому что когда возвращается массив, лара просто его сериализует в json. Откуда ей знать, что там у тебя внутри этого массива?

Вот когда отдаешь просто ресурс, она видит, и понимает как его обработать. В твоем случае 2 решения.

1.Создать свой ресурс для пагинации, и добавить его в массив.
2.Возвращать PostResource::collection() а категории добавить туда через метод additional()
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы