我有发表和评论表。我希望获得所有帖子及其评论,以及下面的回复只是发表评论:
Post::with('comments')
更新
例如
id post
1 post1
2 post2
id post_id comment
1 1 sapmle_comment
Post :: with('comments')只返回有评论的帖子,它只返回第一篇帖子,因为第二篇帖子没有评论,我想得到所有帖子(有或没有评论)
答案 0 :(得分:0)
您的问题不够明确,但要获得评论的所有帖子,您可以尝试这样做:
$posts = Post::with('comments')->get();
要获得只有评论的帖子,您可以尝试这样做:
$posts = Post::has('comments')->get();
答案 1 :(得分:0)
我不太确定你的问题是什么,但我认为它没有回复你的评论。如果您无法退回没有评论的帖子,谢赫的回答将对您有用。如果您无法检索每个帖子的评论,则应确保您的模型已定义:
public function comments(){
return $this->hasMany('Comment');
}
然后确保您的评论模型有:
public function post(){
return $this->belongsTo('Post');
}
如果您想通过控制器将其传递给您的视图,您可以:
$comments = $post->comments()->orderBy('created_at')->get();
return View::make('view', compact('comments'));
您可以通过以下方式遍历每条评论:
@foreach ($comments as $comment)
{{$commment->content}}
@endforeach