Ich habe eine Abfrage mit der Gesamtzahl der Benutzer in 計(jì)算所有用戶
,具有角色“admin”的用戶總數(shù)
,具有角色“control_operator”
的用戶總數(shù)和具有角色“guard”
. p>
Die Abfrage funktioniert, aber es gibt einen Fehler, den ich nicht herausfinden kann.
Es gibt tats?chlich 2 Benutzer in der Datenbank, einer davon hat super_admin 和 admin
角色,另一個(gè)具有 control_operator
. Das Front-End-Display sieht so aus:
Warum gibt es 3 Benutzer, wenn es nur 2 sind?
Das ist meine Anfrage
// 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();
$countData = User::selectRaw(' COUNT(DISTINCT users.id) as totalUsers, SUM(CASE WHEN roles.name = "admin" THEN 1 ELSE 0 END) as totalAdmins, 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();