您好我是Laravel的新手,目前正在使用Laravel 5.2。我正在尝试创建一个应用程序,我有帖子,评论和评论有回复表,并有以下模型。
发布模型
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');
}
我想要实现的目标:
发表评论并回复帖子
帖子 - >很多评论 - >很多回复
我可以通过以下
获得评论$posts = Post::with('comments')->get();
但不知道如何通过回复发表评论
答案 0 :(得分:0)
你应该能够做到
Post::with('comments.replies')->get()
此外,您应始终能够通过以下评论获得回复:->replies
。请注意,如果您没有急切地加载所有回复,您可能会收到数百个数据库查询,每个注释都会发送一个查询来检索回复。如果您检索上述查询之类的所有评论,您将立即检索所有回复,而Laravel会将它们映射到相应的评论。
还有一些很好的例子供您阅读laravel文档:Eloquent: Relationships - Eager loading