Правильно ли создавать разные ресурсы Api для каждого запроса?
Будет ли правильно, если я буду создавать РЕСУРСЫ API для каждого запроса. И как установить связь между тремя таблицами в Ресурсах. Например:
class UserResource
public function toArray($request)
{
return [
'id'=>$this->id,
'name'=>$this->name
'work'=>WorkResource::collection($this->work)//relationship between USER and WORK
]
}
class WorkResource
public function toArray($request)
{
return [
'id'=>$this->id,
'title'=>$this->title
]
}
И в классе UserResource мне нужно вернуться из WORK only TITLE без ID, как я могу это сделать?
1 ответ
Я не уверен, правильно ли я понял, но $this->work
кажется необычным, пока вы создаете экземпляр ресурса, используя Resource::collection()
. Итак, я предполагаю:
class UserResource
{
public function toArray($request)
{
return [
'id' => $this->id,
'name' => $this->name,
'work' => new WorkResource($this->whenLoaded('work'))
];
}
}
class WorkResource
{
public function toArray($request)
{
return [
'title' => $this->title
];
}
}