findCourses(); echo sprintf('pending courses: %s', $courses->count()) . PHP_EOL; if ($courses->count() == 0) return; echo '------ start sync course stat task ------' . PHP_EOL; foreach ($courses as $course) { $this->recountUsers($course); } echo '------ end sync course stat task ------' . PHP_EOL; } protected function recountUsers(CourseModel $course) { $courseRepo = new CourseRepo(); $userCount = $courseRepo->countUsers($course->id); $course->user_count = $userCount; $course->update(); } protected function findCourses() { return CourseModel::query() ->where('published = 1') ->execute(); } }