handleCourseResourceCount(); } protected function handleCourseResourceCount() { $courses = CourseModel::find(); if ($courses->count() == 0) return; foreach ($courses as $course) { if ($course->resource_count > 0) { $this->recountCourseResources($course); } } } protected function recountCourseResources(CourseModel $course) { $courseRepo = new CourseRepo(); $lessons = $courseRepo->findLessons($course->id); $chapterRepo = new ChapterRepo(); $resourceCount = 0; if ($lessons->count() > 0) { foreach ($lessons as $lesson) { if ($lesson->deleted == 0) { $resourceCount += $chapterRepo->countResources($lesson->id); } } } $course->resource_count = $resourceCount; $course->update(); } }