$this->getCourses(), ]; } private function getCourses(): Collection { $semester = app(GeneralSettings::class)->current_semester; $today = now()->dayOfWeekIso; return Course::query() ->where('semester', $semester) ->with(['lecturer', 'courseSchedules']) ->get() ->map(function ($course) use ($today) { $isOngoing = $course->courseSchedules->contains(function ($schedule) use ($today) { return $schedule->day_of_week == $today; }); $course->lecturer_name = $course->lecturer?->full_name; $course->is_ongoing = $isOngoing; $course->detail_url = Detail::getUrl(['course' => $course]); return $course; }); } }