cari

Rumah  >  Soal Jawab  >  teks badan

Pengguna kumpulan (jumlah pengguna, pengguna pentadbir, pengendali kawalan, pengawal) menggunakan pertanyaan Eloquent

Saya mempunyai pertanyaan dengan jumlah pengguna dalam 计算所有用户具有角色“admin”的用户总数具有角色“control_operator”的用户总数和具有角色“guard”.

Pertanyaan berfungsi, tetapi terdapat gangguan/pepijat yang tidak dapat saya ketahui.

Sebenarnya terdapat 2 pengguna dalam pangkalan data, salah satunya mempunyai super_admin 和 admin 角色,另一个具有 control_operator. Paparan bahagian hadapan adalah seperti ini:

Kenapa ada 3 pengguna sedangkan hanya ada 2?

Ini adalah pertanyaan saya

// 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粉026665919P粉026665919272 hari yang lalu513

membalas semua(1)saya akan balas

  • P粉111227898

    P粉1112278982024-04-06 10:47:29

    $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();

    balas
    0
  • Batalbalas