Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Laravel - Como escrever duas associações internas com uma instrução de contagem na sintaxe do Laravel?


Então, basicamente, algo como o seguinte deve funcionar:
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:Ao agrupar por você deve agrupar pelos valores únicos da linha (por exemplo, o identificador). Se os nomes dos seus departamentos forem exclusivos, você poderá omitir completamente a seleção e o agrupamento por departamento.id.