Mysql
 sql >> Database >  >> RDS >> Mysql

Laravel - Come scrivere due inner join con un'istruzione count nella sintassi di Laravel?

Quindi fondamentalmente qualcosa come il seguente dovrebbe funzionare:

DB::table('departments')
    ->join('users','users.dept_id','=','departments.id')
    ->join('absences','users.id','=','absences.user_id')
    ->select('departments.id','departments.deptStringName', DB::raw("COUNT(*)"))
    ->groupBy('departments.id','departments.deptStringName')
    ->get();

Nota:quando si esegue il raggruppamento per è necessario raggruppare in base ai valori univoci della riga (ad es. l'identificatore). Se è garantito che i nomi dei tuoi dipartimenti siano univoci, puoi omettere completamente la selezione e il raggruppamento per department.id.