where($where) ->order("od asc,recommend desc,gr_id desc") ->paginate($pageSize, false, ['page' => $page]); $result = ['grlist' => $grlist->items(), 'total' => $grlist->total()]; $result['grlist'] = $this->getCountAndAlll($result['grlist']); return app('json')->success($result); } // /** // * 获取课程详情 // * @param $gr_id // * @return mixed // * @throws \think\db\exception\DataNotFoundException // * @throws \think\db\exception\DbException // * @throws \think\db\exception\ModelNotFoundException // */ // public function getCourseDetail($gr_id) // { // $course = EducationCourse::where('gr_id', $gr_id) // ->where('course_status', 1) // ->where('course_audit', 1) // ->find(); // // if (!$course) { // return app('json')->fail('课程不存在'); // } // // $course = $course->toArray(); // // $education = \app\model\api\Education::where('gr_id', $course['gr_id']) // ->where('audit', 1) // ->find(); // // if (!$education) { // return app('json')->fail('课程不存在或未通过审核'); // } // // $education = $education->toArray(); // // $course['edu_name'] = $education['name']; // $course['edu_logo'] = $education['logo']; // $course['edu_type1'] = $education['type1']; // $course['edu_type2'] = $education['type2']; // // return app('json')->success($course); // } /** * 获取轮播列表 * @return mixed */ public function recommend() { $EducationModel = new \app\model\api\Education(); $where = [ 'audit' => 1, 'recommend' => 1, ]; $recommendList = $EducationModel->getEducationGrList($where, 9, "od asc,recommend desc,gr_id desc"); $result = ['recommendList' => $recommendList]; return app('json')->success($result); } /** * 获取课程组列表 * @return mixed */ private function getCountAndAlll($grlist) { foreach ($grlist as &$v) { $count = EducationCourse::where('course_status', 1) ->where('gr_id', $v['gr_id']) ->where('course_audit', 1) ->field('count(*) as count,sum(course_play_count) as alll') ->find(); $v['count'] = $count['count']; $count['alll'] += $v['times']; $v['alll'] = $count['alll'] ? $count['alll'] : 0; } return $grlist; } /** * 获取课程详细信息 * @param $gr_id * @return array * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public function getCourseInfo($gr_id) { $courses = DB::table('table_education_course') ->where('course_status', 1) ->whereIn('gr_id', (array) $gr_id) ->where('course_audit', 1) ->get(); $course_list = []; foreach ($courses as $course) { $course_info = [ 'course_id' => $course->id, 'course_name' => $course->course_name, 'course_cover' => $course->course_cover, // 其他课程相关信息 ]; $course_list[] = $course_info; } $count_and_all = $this->getCountAndAlll($gr_id); $result = [ 'course_list' => $course_list, 'count' => $count_and_all[0]['count'], 'alll' => $count_and_all[0]['alll'] ]; return $result; } }