Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel雄辩的一对多关系_Laravel_Eloquent - Fatal编程技术网

Laravel雄辩的一对多关系

Laravel雄辩的一对多关系,laravel,eloquent,Laravel,Eloquent,我有post表和comments表。我想获得所有带有评论的帖子,下面返回的只是有评论的帖子: Post::with('comments') 更新 比如说 邮政表格 身份证 1个职位1 2后2 注释表 id post\u id评论 1萨姆勒大学评论 Post::with'comments'只返回有评论的帖子,它只返回第一篇帖子,因为第二篇帖子没有评论,我想获取所有有评论或没有评论的帖子您的问题不够清楚,但要获取所有有评论的帖子,您可以尝试以下方法: $posts = Post::with('c

我有post表和comments表。我想获得所有带有评论的帖子,下面返回的只是有评论的帖子:

Post::with('comments') 
更新

比如说

邮政表格 身份证

1个职位1

2后2

注释表 id post\u id评论

1萨姆勒大学评论


Post::with'comments'只返回有评论的帖子,它只返回第一篇帖子,因为第二篇帖子没有评论,我想获取所有有评论或没有评论的帖子

您的问题不够清楚,但要获取所有有评论的帖子,您可以尝试以下方法:

$posts = Post::with('comments')->get();
$posts = Post::has('comments')->get();
要仅获取包含评论的帖子,您可以尝试以下方法:

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

我不太确定你的问题是什么,但我假设它不会回复你的评论。如果你不能返回没有评论的帖子,谢赫的回答将对你有用。如果无法检索每篇文章的评论,则应确保模型已定义:

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

那有什么问题呢,你想要有评论的帖子!你的问题毫无意义。Post::with'comments'->是否获得帮助?