gpt4 book ai didi

php - 根据用户 "likes"和 "dislikes"查找最受欢迎的文章

转载 作者:行者123 更新时间:2023-11-29 10:36:48 27 4
gpt4 key购买 nike

用户可以添加其他用户可以“喜欢”或“不喜欢”的文章。

我需要找到最受欢迎的文章,计算方式为喜欢减去不喜欢。例如,如果一篇文章有​​ 3 个喜欢和 1 个不喜欢,则应为其指定流行度值为 2。

这是我的数据库结构,我将它们连接在一起:

我的文章表:

id | user_id | title | description | views | created_at | updated_at

我的喜好表:

id | user_id | article_id | like_type | created_at | updated_at

如何找到最受欢迎的文章?

最佳答案

您可以通过简单的分组依据和顺序语句来实现您的要求,类似的东西应该可以工作:

return Article::select('title', DB::Raw('SUM(2*likes.like_type-1) as likes_count'))
->leftJoin('likes', 'likes.article_id', '=', 'articles.id')
->groupBy('articles.id')
->orderBy('likes_count', 'DESC')
->get();

我假设 like_type 是一个 bool 值,表示 0 表示不喜欢,1 表示喜欢 - 如果不是,您将需要更改 SUM 语句。

关于php - 根据用户 "likes"和 "dislikes"查找最受欢迎的文章,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46264001/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com