Внутри контроллера ресурсов у меня есть следующая функция показа.
public function show(Invite $invite)
{
return response($invite->jsonSerialize(), Response::HTTP_CREATED);
}
У модели приглашения много гостей, а модель гостя принадлежит приглашению.Стандартные маршруты ресурсов.Когда я запрашиваю URL, я получаю ответ вроде:
{
id":17,
"user_id":2,
"event_id":1,
"name":"Fred Neumann +1",
"called":0,
"emailed":0,
"invited":1,
"max_guests":2,
"created_at":"2019-05-18 21:31:07",
"updated_at":"2019-05-18 21:31:07",
"deleted_at":null
}
Теперь я также хотел бы вернуть гостей вместе с информацией о приглашении.Я могу добиться этого, изменив функцию show следующим образом:
public function show(Invite $invite)
{
// Don't remove this line:
$invite->guests = $invite->guests;
return response($invite->jsonSerialize(), Response::HTTP_CREATED);
}
Это прекрасно работает, но не очевидно, что оно действительно что-то делает.Я мог легко видеть себя, удаляющим это позже случайно и ломающим API, следовательно комментарий.Есть ли более читабельная альтернатива?