Laravel 预加载嵌套关系

Laravel eager loading with nested relationship

我知道有人问过这个问题,但我的情况不同。 我有 Post 模型与定义的 Comment 模型有关系:

/*Post Model*/
public function comments(){
return $this->hasMany('comment');
}

和每个评论属于一个用户的评论模型: /评论模型/

public function user(){
return $this->belongto('user');
}

现在我想查询所有 post 和预加载评论(每个 post)以及 post 评论的用户信息。 无论如何让它工作好吗? 谢谢。

你想要的是嵌套的eager loading,向下滚动一点,你就会看到它。

引用文档:

To eager load nested relationships, you may use "dot" syntax. For example, let's eager load all of the book's authors and all of the author's personal contacts in one Eloquent statement:

$books = Book::with('author.contacts')->get();

你的情况

$posts = Post::with('comments.user')->get();