Итак, в настоящее время я пытаюсь извлечь каждую запись из одной таблицы базы данных и вернуть их с помощью APIResource. Я хочу также вернуть все отношения этих записей. Вот мой контроллер:
public function all()
{
return GameResource::collection(Game::all()->with('white_user', 'black_user', 'win_user')->get());
}
И соответствующий ресурс:
public function toArray($request)
{
return [
'GmID' => $this->GmID,
'White_user' => new UserPublicResource($this->whenLoaded('white_user')),
'Black_user' => new UserPublicResource($this->whenLoaded('black_user')),
'Winner' => new UserPublicResource($this->whenLoaded('win_user')),
'Pgn' => $this->Pgn,
'StartTime' => $this->StartTime
];
}
Я знаю, что проблема заключается в методе all (), который возвращает коллекцию, которая не имеет с () метод. Вот сообщение об ошибке:
Метод Illuminate \ Database \ Eloquent \ Collection :: with не существует.
Мне интересно, есть ли простой способ сделать то, что я хочу, и я не могу найти что-либо в документах или у кого-нибудь из инте rnet, кто хотел что-то подобное.