Правильно ли создавать разные ресурсы API для каждого запроса? - PullRequest
0 голосов
/ 25 сентября 2019

Будет ли правильно, если я создам API RESOURCES для каждого запроса.И как установить связь между тремя таблицами в Ресурсах.Например:

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 только TITLE без идентификатора, как я могу это сделать?

1 Ответ

0 голосов
/ 25 сентября 2019

Я не уверен, правильно ли я понял, но $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
        ];
    }
}
...