使用 Eloquent 查询对用户进行分组(总用户、管理员用户、控制操作员、警卫)
P粉026665919
P粉026665919 2024-04-05 12:11:26
0
1
432

我有一个查询,其中计算所有用户具有角色“admin”的用户总数具有角色“control_operator”的用户总数和具有角色“guard”的用户总数。

查询正在工作,但有一个我无法弄清楚的小故障/错误。

数据库中实际上有 2 个用户,其中一个具有 super_admin 和 admin 角色,另一个具有 control_operator。前端显示的是这样的:

为什么只有 2 个用户时却有 3 个用户?

这是我的查询

// Retrieve the counts of admins, users, control operators, and security guards
        $countData = User::selectRaw('
        SUM(CASE WHEN roles.name = "admin" THEN 1 ELSE 0 END) as totalAdmins,
        COUNT(*) as totalUsers,
        SUM(CASE WHEN roles.name = "control_operator" THEN 1 ELSE 0 END) as totalControl,
        SUM(CASE WHEN roles.name = "security_guard" THEN 1 ELSE 0 END) as totalGuards
    ')->join('model_has_roles', 'users.id', '=', 'model_has_roles.model_id')
      ->join('roles', 'model_has_roles.role_id', '=', 'roles.id')
      ->first();

P粉026665919
P粉026665919

全部回复(1)
P粉111227898

雷雷

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板