したがって、基本的に次のようなものが機能するはずです:
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による選択とグループ化を完全に省略できます。