如何在Laravel PHP

时间:2019-06-25 21:07:24

标签: php laravel

我正在尝试检索帖子中的likesdislikes的数量。

数据库中有下表,其中like列决定喜欢还是不喜欢。如果是1,则表示like;如果是zero,则表示dislike

table

问题

我正在尝试count个帖子的数量like(s),然后为每个帖子显示它,我正在尝试使用三元运算符实现这一点,但是我得到了{{1 }}和1不喜欢每个帖子,根据上述表格数据,这是错误的。

我在做错什么吗,因为我认为代码应该可以工作。

由于该表格,1 post_id的点赞次数应为1,但每条帖子我都得到2点赞和1点不喜欢

代码 这是我要获取1likes

的代码
dislikes

2 个答案:

答案 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