php - 编写 Eloquent 查询以查找投票最多的帖子 Laravel

标签 php mysql database laravel eloquent

我一直在编写 Eloquent 查询来查找我的帖子获得最多选票时遇到问题。我有一个投票表和一个帖子表。 votes 表有一个 id 列、一个 post_id 列、一个 user_id 列和一个 vote 列。如果有人为帖子投票,则投票列的值设置为 1。如果有人对帖子投反对票,则投票列设置为 0。我可以使用以下查询找到一个帖子的投票数量:

Vote::where('post_id','=', $post->id)->where('vote','=',1)->count()

我如何改进此查询以找到得票最多的帖子?我试过想出一种方法,但我似乎做不到。非常感谢。

最佳答案

就做....

DB::table('votes')->orderBy(DB::raw('sum(\'vote\')'))
                ->groupBy('post_id')->get();

这将按 SUM 排序您的选票

关于php - 编写 Eloquent 查询以查找投票最多的帖子 Laravel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24480169/

相关文章:

php - 在$ _POST中将空值替换为NULL

php - 将目录复制到另一个位置的 Shell 命令

sql - MySQL多表问题

sql - 将节点插入到 SQL 2008 xml 数据类型中...首先检查它是否存在

database - 如何在 scala slick 3 中实现枚举?

php - Carbon 语言环境不被尊重?

php - 为系统等帖子设计数据库架构的最佳方法

mysql - db.Save()成功后如何查询关联

mysql - 无法从 perl 脚本运行 MySQL 存储过程

mysql - "<>some"和 "not in"之间的区别