Dus eigenlijk zou zoiets als het volgende moeten werken:
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();
Opmerking:wanneer u groepeert op, moet u groeperen op de unieke waarden van de rij (bijvoorbeeld de identifier). Als uw afdelingsnamen gegarandeerd uniek zijn, kunt u het selecteren en groeperen op afdelings-id volledig achterwege laten.