JsonResource, чтобы скрыть лишние записи из выборки.
Проблема в том, что содержимое массива tags тоже содержит в себе поля, которые я не хочу отдавать клиенту. Как бы мне их скрыть из ImageResource? Мне было бы проще создать для tags отдельный ресурс, но я не знаю как его подключить, т.к я возвращаю данные через ImageResource::collection.
так же
'tags' => TagResource::collection($this->whenLoaded('tags'))
Благодарю, до такого я не допёр)
Документация ещё, к примеру, могла бы помочь)
У моделей есть свойство $hidden Это массив атрибутов, которые скрываются
Ой всё) Она помогла мне родить ImageResource::collection, а вот до того, чтобы использовать этот же подход внутри ресурса, это допереть надо.
Бывает. Достаточно было слегка еще почитать и всё увидели бы)
Да, я про это читал, но, как я понял, я не могу это заюзать. Массив authors, к примеру, он у меня формируется в результате работы оператора with, т.е на основании laravel отношения. В данном случае это отношение "Многие ко многим". Т.е, запись pivot, которую я скрываю, к самой модели отношения не имеет, это сам laravel как бы дописывает эту таблицу в выборку. Получается, нет такой модели, на которой я бы смог заиспользовать hidden, чтобы pivot скрыть, поэтому вот взял Resource.
(Ой всё) ^ (Ой всё) ))
Обсуждают сегодня