checkCourse($id); $user = $this->getCurrentUser(true); $this->setCourseUser($course, $user); $courseRepo = new CourseRepo(); $lessons = $courseRepo->findLessons($course->id); if ($lessons->count() == 0) { return []; } $lessonIds = []; /** * 过滤掉未发布和已删除的课时 */ foreach ($lessons as $lesson) { if ($lesson->published == 1 && $lesson->deleted == 0) { $lessonIds[] = $lesson->id; } } $resourceRepo = new ResourceRepo(); $resources = $resourceRepo->findByCourseId($course->id); if ($resources->count() == 0) { return []; } $builder = new ResourceListBuilder(); $relations = $resources->toArray(); foreach ($relations as $key => $relation) { if (!in_array($relation['chapter_id'], $lessonIds)) { unset($relations[$key]); } } $uploads = $builder->getUploads($relations); foreach ($uploads as $key => $upload) { $uploads[$key]['me'] = ['owned' => $this->ownedCourse ? 1 : 0]; } return array_values($uploads); } }