我正在尝试检索帖子中的likes
和dislikes
的数量。
数据库中有下表,其中like
列决定喜欢还是不喜欢。如果是1
,则表示like
;如果是zero
,则表示dislike
。
问题:
我正在尝试count
个帖子的数量like(s)
,然后为每个帖子显示它,我正在尝试使用三元运算符实现这一点,但是我得到了{{1 }}和1
不喜欢每个帖子,根据上述表格数据,这是错误的。
我在做错什么吗,因为我认为代码应该可以工作。
由于该表格,1
post_id
的点赞次数应为1
,但每条帖子我都得到2
点赞和1
点不喜欢
代码
这是我要获取1
和likes
dislikes
答案 0 :(得分:0)
您可以雄辩地使用count和withCount方法来简化操作
您可以像这样在控制器中计算喜欢和不喜欢的内容:
$posts = App\Post::withCount([
'likes' => function ($query) {
$query->where('like', 1);
},
'likes as dislikes_count' => function ($query) {
$query->where('like', 0);
}
])->get();
然后,您可以像那些在刀刃中那样计数
Likes count: {{ $post->likes_count }}
Dislikes count: {{ $post->dislikes_count }}
答案 1 :(得分:0)
在您的控制器或模型中,您的查询应如下所示。您需要发贴或赞这样的帖子,以便根据情况{。{1}}分组并使用案例。
post_id