如何为单个雄辩对象加载关系?

时间:2015-06-30 11:58:16

标签: json rest laravel eloquent

我有Comment这个属于关系的模型。

class Comment extends Model
{
    public function user()
    {
        return $this->belongsTo('App\User');
    }
}

在我的控制器中:

public function store(Request $request)
{
    $comment = $this->dispatch(
        new StoreCommentCommand($request->body, Auth::user()->id, $request->post_id)
    );

    return $comment;
}

当我返回$comment时,我也想要嵌套的用户对象,我该怎么做?

3 个答案:

答案 0 :(得分:2)

您需要在Builder对象上使用with(),而目前您正在使用eloquent对象。这将是您的工作代码。

    return Comment::with('user')->where('id', $comment->id)->first();

答案 1 :(得分:1)

急切加载......

return $comment->with('user');

答案 2 :(得分:0)

如果有人偶然发现这一点,您可以在返回评论之前将用户分配给评论。

$comment->user = Auth::user()
return $comment

此处不需要 with 急切加载功能。