model = (new ClassGrade()); } //列表 public function list($id,$data) { $order = 'id desc'; $where = []; if ($data['name'] !== '') { $where[] = ['name','like','%'.$data['name'].'%']; } $search_model = $this->model->where('head_coach', $id)->where($where)->order($order) ->with(['classPersonnelRel' => function($query) { $query->with(['student' => function($query) { $query->with(['customerResources' => function($query) { $query->with(['member' => function($query) { $query->select(); }]); }]); },'studentCourses']); },'personnelAll']); $list = $this->pageQuery($search_model); foreach ($list['data'] as &$v){ if (count($v['classPersonnelRel']) > 0) { $now = time(); $count = 0; foreach ($v['classPersonnelRel'] as $item) { if (isset($item['end_date'])) { $endTime = strtotime($item['end_date']); if ($endTime > $now && $endTime <= $now + 7 * 86400) { $count++; } } } $v['end_count'] = $count; } else { $v['end_count'] = 0; } } return $list; } public function info($data) { $search_model = $this->model->where('id', $data) ->with(['classPersonnelRel' => function($query) { $query->with(['student' => function($query) { $query->with(['customerResources' => function($query) { $query->with(['member' => function($query) { $query->select(); }]); }]); },'studentCourses','studentCoursesInfo']); },'personnelAll', 'personnelName']); $list = $search_model->find(); if (count($list['classPersonnelRel']) > 0) { $now = time(); $count = 0; foreach ($list['classPersonnelRel'] as $item) { if (isset($item['end_date'])) { $endTime = strtotime($item['end_date']); if ($endTime > $now && $endTime <= $now + 7 * 86400) { $count++; } } } $v['end_count'] = $count; } else { $v['end_count'] = 0; } return $list; } }