<?php class a { protected static $Senior = [1, 2, 3]; protected static $NoSenior = [13, 14, 15, 16, 17, 18, 19; /** * 获取所有在职老师的id * 根据在职老师去查所匹配的条件 * 根据条件取跟新新的 */ function run() { //获取所有在职老师的id $sql = "SELECT t.teacher_id FROM teacher t LEFT JOIN teacher_ext te on t.teacher_id = te.id WHERE te.job_status = 1"; $list = M()->all(); //sleep(10); foreach ($list as $teacher_id) { //$teacher_id = 22171; $sql = "SELECT t.teacher_id,t.race_type,lm.is_leader,ttgr.grade_id FROM teacher t LEFT JOIN 表 te on 条件 LEFT JOIN 表 lm on 条件 LEFT JOIN 表 ttgr on 条件 WHERE t.teacher_id = ? "; $teacherDate = M()->query($sql, $teacher_id)->all();//查询 $endRaceType = $this->tdate($teacherDate); $res = $this->insertDate($endRaceType, $teacher_id['teacher_id']); } } /** * 获取老师的所有类型; * @param $teacherDate * @return array */ public function tdate($teacherDate) { $raceType = []; foreach ($teacherDate as $val) { if ($val['is_leader'] == 1) { if (in_array($val[''], self::Senior)) { } else { } } else { if (in_array($val[''], self::$Senior)) { } else { } //组合所有的授课类型 $raceType[] = $teacherRaceType; } //合并所有授课类型到一个数组,并去除重复的授课类型; $race = []; for ($i = 0; $i < count($raceType); $i++) { $middle = array_merge($race, $raceType[$i]); $race = $middle; } $endRaceType = array_unique($race); return $endRaceType; } /** * 存入数据库; * @param $endRaceType * @param $teacher_id */ public function insertDate($endRaceType, $teacher_id) { foreach ($endRaceType as $v) { //添加到数据库 $m = M()->begin(); try { M()->insert(['teacherId' => $teacher_id, 'raceType' => $v]); $m->end(true); } catch (Exception $e) { $m->end(false); MSVC::log( $e->getMessage()); } } sleep(10); } }