我有两个与帖子相关的评论,但是用于计算与帖子相关的评论的代码显示为“ 1”。你知道为什么吗?
计算评论数的代码:
$commentsCount= Post::with('comments')->count();
一个帖子可以有多个评论,一个评论与一个帖子相关联。
评论模型:
public function post(){
return $this->belongsTo('App\Post');
}
发布模型:
public function comments(){
return $this->hasMany('App\Comment', 'post_id');
}
你知道为什么吗?
答案 0 :(得分:1)
调用会急于将注释加载到Post模型上,但仍然只返回一个Post对象。
您需要在post对象上调用评论,以取回可以计数的收藏集。
根据您所拥有的代码判断,如果您按照以下方式进行操作
$post = Post::find(1);
$commentsCount = $post->comments->count();
您应该得到想要的东西。