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); } /** * 获取轮播列表 * @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 mixed * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public function getCourseList($gr_id) { $courseList = EducationCourse::where('course_status', 1) ->where('gr_id', $gr_id) ->where('course_audit', 1) ->select(); return json([ 'code' => 200, 'msg' => 'ok', 'data' => $courseList ]); } }