param(); $con = []; $subject = ModelSubject::where($con) ->field([ 'subject_id', 'subject_name' => 'name', ]) ->order('subject_sort', 'asc') ->select(); $params['subject_id'] = null; foreach ($subject as $key => $value) { if ($key == $params['idx']) { $params['subject_id'] = $value['subject_id']; } } $con = Tool::getOptionalQuery( ['params' => $params], ['teacher_name', 'LIKE'], ['b.subject_id', '='], ); $query = ModelTeachers::where($con) ->field([ 'a.teacher_id', 'a.teacher_name', 'a.teacher_position', 'a.teacher_img', 'a.subject_guid', 'b.subject_name', ]) ->alias('a') ->leftjoin('subject b', 'a.subject_guid = b.subject_guid') ->append(['teacher_eng_name']) ->hidden(['subject_guid']) ->order('teacher_order', 'asc') ->select(); return msg(0, "获取教师列表成功!", [ 'count' => count($query), 'data' => $query, ]); } /** * 获取教师详情 */ public function getTeachersInfo(Request $request): array { $params = $request->param(); $this->validate($params, [ 'teacher_id|教师id' => 'require' ]); $find = ModelTeachers::field([ 'a.teacher_id', 'a.teacher_name', 'a.teacher_position', 'a.teacher_img', 'a.subject_guid', 'b.subject_name', 'a.teacher_content', 'a.teacher_intro', 'a.teacher_order', ]) ->alias('a') ->leftjoin('subject b', 'a.subject_guid = b.subject_guid') ->append(['teacher_eng_name']) ->hidden(['subject_guid']) ->where('teacher_id', $params['teacher_id']) ->find(); $last_next = Tool::getLastNextData( ModelTeachers::class, $find->teacher_order, [ 'field' => ['teacher_id', 'teacher_name'], 'extraWhere' => [['subject_guid', '=', $find->subject_guid]], ] ); $find['prve'] = $last_next[0]; $find['next'] = $last_next[1]; return msg(0, '获取教师详情成功!', [ 'data' => $find, ]); } }