Laravel 将hasMany集合拉入控制器中的结果对象的可读方式

Laravel 将hasMany集合拉入控制器中的结果对象的可读方式,laravel,eloquent,crud,Laravel,Eloquent,Crud,在资源控制器中,我有以下显示功能 public function show(Invite $invite) { return response($invite->jsonSerialize(), Response::HTTP_CREATED); } invite模型有许多来宾,来宾模型属于invite。标准资源路线。当我查询url时,会得到如下响应: { id":17, "user_id":2, "event_id":1, "name":"Fred

在资源控制器中,我有以下显示功能

public function show(Invite $invite)
{
    return response($invite->jsonSerialize(), Response::HTTP_CREATED);
}
invite模型有许多来宾,来宾模型属于invite。标准资源路线。当我查询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,因此发表了评论。是否有更具可读性的替代方案?

加载
来宾关系:

公共功能展示(Invite$Invite)
{
返回响应($invite->load('guests')->jsonSerialize(),response::HTTP_CREATED);
}