Donc, fondamentalement, quelque chose comme ce qui suit devrait fonctionner :
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();
Remarque :Lors du regroupement par, vous devez regrouper par les valeurs uniques de la ligne (par exemple, l'identifiant). S'il est garanti que les noms de vos départements sont uniques, vous pouvez omettre complètement la sélection et le regroupement par department.id.