在Laravel中创建并返回具有关系的模型

时间:2017-03-29 17:54:35

标签: php laravel eloquent

我有几个端点可以在此应用程序中获取/发表评论。

GET端点使用Eloquent的with方法来包含评论'作者数据与回复:

public function getComments(Note $note) {
    return $note->comments()->with(['author'])->get();
}

如何在创建/返回Eloquent模型时包含作者数据?这是我目前的方法:

public function postComment(Note $note, Request $request) {
    $user = $this->appUserRepo->getFromRequest($request);
    $text = $request->text;
    $comment = $note->comments()->create([
        'app_user_id' => $user->id,
        'text' => $text
    ]);
    return $comment;
}

我正在寻找类似的东西(但这不起作用):

public function postComment(Note $note, Request $request) {
    $user = $this->appUserRepo->getFromRequest($request);
    $text = $request->text;
    $comment = $note->comments()->create([
        'app_user_id' => $user->id,
        'text' => $text
    ]);
    return $comment->with(['author']);
}

1 个答案:

答案 0 :(得分:7)

你应该尝试使用:

$comment->load('author');
return $comment;

加载author关系以进行评论。