php - 在 laravel 的 mysql 查询中获取计数

标签 php mysql laravel

我想选择每个项目获得的票数。以下查询工作正常但如果没有对某个项目进行投票则该项目不会显示在结果中就会出现问题。我实际上想要每个项目的详细信息并且votes.If 没有投票给一个项目,它应该显示为零。 我怎样才能实现它?

DB::table('wonders')
        ->leftjoin('vote','votes.wonderId','=','wonders.id')
        ->select('wonders.id','wonders.title',DB::raw('count(votes.vote) as votes'))
        ->get();

最佳答案

试试这个

DB::table('wonders')
            ->leftjoin('vote','votes.wonderId','=','wonders.id')
            ->select('wonders.id','wonders.title',DB::raw('ifnull(count(votes.vote),0) as votes'))
            ->groupBy('wonders.id')
            ->get();

关于php - 在 laravel 的 mysql 查询中获取计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34786901/

相关文章:

php - undefined variable : request - Laravel 5. 1

c++ - QSqlQuery 插入完整结构而不是单个字段?

mysql命令行连接到azure

php - Laravel - 向 Mailgun 发送电子邮件时出现 404 未找到错误

php - ajax行可编辑数据表

php - 显示通知:未定义属性:wpdb::$insertid in D:\wamp\www\wordpress-4.7.1\wordpress\wp-includes\wp-db.php 第 684 行

php - 对自定义类的依赖注入(inject)陷入 L4.2 中的无限循环?

javascript - 使用 select2、json 请求和 Laravel 的动态下拉菜单

php - 多维数组使用 php 和 mysql 跳过除最后一个值之外的所有值

mysql - 字段列表中的未知列 MySql 存储过程