feat: update CourseClass and CourseRegistration services; refine select queries to improve data retrieval efficiency

This commit is contained in:
Yoga Pangestu 2026-09-04 09:33:42 +07:00
parent 609828a2e2
commit 66bacaf0e1
2 changed files with 2 additions and 4 deletions

View File

@ -108,7 +108,6 @@ public function duplicateFromTerm(int $sourceAcademicTermId, int $targetAcademic
public function getAllForSelect(?User $user = null): Collection
{
return CourseClass::query()
->select(['course_classes.id', 'course_classes.course_id', 'course_classes.lecturer_id', 'course_classes.academic_term_id'])
->join('courses', 'courses.id', '=', 'course_classes.course_id')
->join('departments', 'departments.id', '=', 'courses.department_id')
->with([
@ -120,6 +119,6 @@ public function getAllForSelect(?User $user = null): Collection
->orderBy('departments.name')
->orderBy('courses.semester_number')
->orderBy('courses.name')
->get();
->get(['course_classes.id', 'course_classes.course_id', 'course_classes.lecturer_id', 'course_classes.academic_term_id']);
}
}

View File

@ -33,7 +33,6 @@ public function paginated(User $user, int $perPage = 25, string $search = '', ?i
$ledDepartmentIds = $isDepartmentLeader ? $user->ledDepartmentIds() : null;
$paginator = Student::query()
->select(['students.id', 'students.user_id', 'students.student_number', 'students.department_id'])
->join('departments', 'departments.id', '=', 'students.department_id')
->join('users', 'users.id', '=', 'students.user_id')
->join('user_profiles', 'user_profiles.user_id', '=', 'users.id')
@ -46,7 +45,7 @@ public function paginated(User $user, int $perPage = 25, string $search = '', ?i
->with(['user.profile', 'department:id,name'])
->orderBy('departments.name')
->orderBy('user_profiles.full_name')
->paginate($perPage);
->paginate($perPage, ['students.id', 'students.user_id', 'students.student_number', 'students.department_id']);
return $paginator->through(fn (Student $student) => [
'student_id' => $student->id,