2017-07-19 145 views
0

嗨,我是Laravel新手,目前正在使用Laravel 5.2。我正在尝试创建一个应用程序,其中有帖子和评论,评论有答复表并具有以下模型。laravel一对多对多关系

Post模型

public function comments() { 
    return $this->hasMany('App\Comment'); 
} 

评价模型

public function posts() { 
    return $this->belongsTo('App\Post'); 
} 

public function replies() { 
    return $this->hasMany('App\Reply'); 
} 

回复型号

public function comments() { 
    return $this->belongsTo('App\Comment'); 
} 

我想交流什么hieve:

帖子与回复,请发表评论

后 - >许多意见 - >许多回复

我能够用以下

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

获得评论,但不知道如何获得回复评论

回答

0

你应该可以做

Post::with('comments.replies')->get() 

此外,您应该始终能够从以下评论获得回复:->replies。请注意,如果您没有急于加载所有回复,您可能会收到数百个对数据库的查询,则每条评论都会发送一个查询来检索回复。如果您检索上述查询的所有评论,您将立即检索所有回复,并且Laravel会将它们映射到适当的评论。

另外还有一些很好的例子可供您从laravel文档中阅读:Eloquent: Relationships - Eager loading