php - 仅 Mysql 原始计数

标签 php mysql laravel

我在我的项目中使用 PHP 和 Laravel 框架。

以上代码完美运行

$users = User::select([
            'users.id',
            'users.name',
            'users.company',
            'users.country',
            'users.city',
            'users.email',
            'users.created_at',
            \DB::raw('SUM(reservations.dolar) as dolar'),
            \DB::raw('count(reservations.confirmation) as confirmation'),
        ])->join('reservations','reservations.user_id','=','users.id')
        ->groupBy('reservations.user_id');

现在计算所有 reservation.confirmation 列,但我只想计算 reservation.confirmation 列值 1

如何编辑

\DB::raw('count(reservations.confirmation) as confirmation'),

这段代码

最佳答案

你试过看https://laravel.com/docs/5.6/queries#joins吗在“Advanced Join Clauses”部分,您可以在Join函数中添加条件

$users = User::select([
        'users.id',
        'users.name',
        'users.company',
        'users.country',
        'users.city',
        'users.email',
        'users.created_at',
        \DB::raw('SUM(reservations.dolar) as dolar'),
        \DB::raw('count(reservations.confirmation) as confirmation'),
    ])->join('reservations', function ($join) {
                              $join->on('reservations.user_id', '=', 'users.id')
                                   ->where('reservations.confirmation', '=', 1);
    })->groupBy('reservations.user_id');

关于php - 仅 Mysql 原始计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52075387/

相关文章:

php 将计划任务以分钟为单位添加到当前时间为 12 :10 - 12:19

php - 如何在 PDO 函数中使用 CURDATE() 进行多次插入

php - Ardent 模型在保存后无法验证

php - 在 PHP 中获取空条目以进行查询

php - 如何从for循环以递增方式将文件名存储在php变量中

php - 如何在 PHP 中对从 MySQL 数据库中获取的数据应用样式

php - 如何显示来自 TinyMCE 的输入?

php - 如何在View上使用Youtube类

php - 如何对数据表进行分页以便数据不会在 Laravel 中一起加载?

php - 脚本处理多个项目但不处理一个