getPageParam();//获取请求参数中的页码+分页数 $page = $page_params['page']; $limit = $page_params['limit']; $model = new PersonCourseSchedule(); //判断有没有客户资源id if (!empty($where['resources_id'])) { $model = $model->where('resources_id', $where['resources_id']); } //上课日期 if (!empty($where['course_date'])) { $model = $model->where('course_date', $where['course_date']); } //判断有没有客户上课状态 if (array_key_exists('status', $where) && $where['status'] != '') { // $model = $model->where('status', $where['status']); $model = $model->where('school_person_course_schedule.status', $where['status']); } // 判断有没有场地ID if (!empty($where['venue_id'])) { $model = $model->hasWhere('courseScheduleHasOne', ['venue_id' => $where['venue_id']]); } $data = $model->order('course_date','desc') ->with([ //课程安排表 'courseScheduleHasOne'=>function($query){ $query->with([ 'venue',//场地 'campus',//校区 'course',//课程 ]); }, ]) ->paginate([ 'list_rows' => $limit, 'page' => $page, ])->toArray(); return $data; } //查询详情 public function getInfo(array $where) { $res = [ 'code' => 0, 'msg' => '暂无数据', 'data' => [] ]; $model = new PersonCourseSchedule(); //判断有无人员与课程安排关系表id if (!empty($where['person_course_schedule_id'])) { $model = $model->where('id', $where['person_course_schedule_id']); } $data = $model ->with([ //课程安排表 'courseScheduleHasOne' => function ($query) { $query->with([ 'venue',//场地 'campus',//校区 'course',//课程 'coach',//教练 ]); }, ]) ->find(); if ($data) { $data = $data->toArray(); if(empty($data['courseScheduleHasOne']['id'])){ $res = [ 'code' => 0, 'msg' => '暂无课程安排数据', 'data' => [] ]; return $res; } $res = [ 'code' => 1, 'msg' => '操作成功', 'data' => $data ]; return $res; } else { $res = [ 'code' => 0, 'msg' => '暂无数据', 'data' => [] ]; return $res; } } //修改人员与课程安排关系表 public function editStatus( $person_course_schedule_id,array $data){ $res = [ 'code' => 0, 'msg' => '操作失败', 'data' => [] ]; if(empty($data['updated_at'])){ $data['updated_at'] = date('Y-m-d H:i:s'); } $model = PersonCourseSchedule::where('id',$person_course_schedule_id)->find(); if(!$model){ $res = [ 'code' => 0, 'msg' => '未找到课程安排信息', 'data' => [] ]; return $res; } //状态0待上课1已上课2请假 if(in_array($model['status'],[0,2])){ $edit = PersonCourseSchedule::where('id',$person_course_schedule_id)->update($data); if($edit){ $res = [ 'code' => 1, 'msg' => '操作成功', 'data' => [] ]; } return $res; }elseif($model['status'] == 1){ $res = [ 'code' => 0, 'msg' => '该课程已上课无法请假', 'data' => [] ]; return $res; } } }