$value) { if (!empty($value)) { switch ($key) { case 'code': $where[] = ['majorCode', '=', ($value)]; break; case 'score': $where[] = ['myscore', '=', $value]; break; case 'mySub': $where[] = ['mykemu', '=', $value]; $val = preg_split('//', $value, -1, PREG_SPLIT_NO_EMPTY); $where[] = ['chooseNums', 'in', ($val[0].','.$val[1].','.$val[2].','.$val[0].$val[1].','.$val[0].$val[2].','.$val[1].$val[2].','.$val[0].$val[1].$val[2].',999')]; break; } } } //计算总数 $count = Db::table('rec_zhejiang_majors') ->where($where) ->count(); //查询数据 $result = Db::table('rec_zhejiang_majors') ->field('collegeName,probability,rankOfCn,professionCode,is985,is211,issyl,provinceName,estimatedRanking,minScore,collegeId,id,batch,planNum,chooseCns,classify,professionName,majorCode') ->where($where) ->page($page, $limit) ->select(); empty($result) ? $msg = '暂无数据!' : $msg = '查询成功!'; //查询用户收藏的专业 $resCollect = []; if($user_id){ $resCollect = CollectNewMajor::getUserNewMajor($user_id); } //查询位次和院校排名 foreach ($result as $key =>$val) { $result[$key]['tags'] = $val['provinceName']." ".$val['classify']; //判断211,985,双一流是否是1 if($val['is985']) $result[$key]['tags'] = $result[$key]['tags']." "."985"; if($val['is211']) $result[$key]['tags'] = $result[$key]['tags']." "."211"; if($val['issyl']) $result[$key]['tags'] = $result[$key]['tags']." "."双一流"; //收藏赋值 $result[$key]['is_collect'] = 0; if(is_array($resCollect)){ if(in_array($val['id']."_".$val['majorCode']."_".$val['professionCode'],$resCollect)){ $result[$key]['is_collect'] = 1; } } $result[$key]['lowestRank'] = $result[$key]['estimatedRanking']; } //分页数据 $info = [ 'limit' => $limit, 'page_current' => $page, 'page_sum' => ceil($count / $limit), ]; //组合返回 $list = [ 'msg' => $msg, 'count' => $count, 'info' => $info, 'res' => $result ]; return $list; } }