Така че основно нещо като следното трябва да работи:
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();
Забележка:Когато групирате по, трябва да групирате по уникалните стойности на реда (напр. идентификатора). Ако имената на вашите отдели са гарантирано уникални, тогава можете напълно да пропуснете избирането и групирането по department.id.