checkReview($id); return $this->handleReview($review); } protected function handleReview(ReviewModel $review) { $result = [ 'id' => $review->id, 'content' => $review->content, 'reply' => $review->reply, 'rating' => $review->rating, 'rating1' => $review->rating1, 'rating2' => $review->rating2, 'rating3' => $review->rating3, 'like_count' => $review->like_count, 'create_time' => $review->create_time, 'update_time' => $review->update_time, ]; $result['course'] = $this->handleCourseInfo($review); $result['owner'] = $this->handleOwnerInfo($review); return $result; } protected function handleCourseInfo(ReviewModel $review) { $courseRepo = new CourseRepo(); $course = $courseRepo->findById($review->course_id); if (!$course) return new \stdClass(); return [ 'id' => $course->id, 'title' => $course->title, 'cover' => $course->cover, ]; } protected function handleOwnerInfo(ReviewModel $review) { $userRepo = new UserRepo(); $owner = $userRepo->findById($review->owner_id); if (!$owner) return new \stdClass(); return [ 'id' => $owner->id, 'name' => $owner->name, 'avatar' => $owner->avatar, ]; } }