get('keyword'); if (!$keyword){ $this->success(data:[]); }else{ $data = model('area') ->where('level','=',3) ->where(function ($query)use ($keyword){ $query->where('merge_name','like','%'.$keyword.'%') ->whereOr('pinyin', 'like', "%{$keyword}%") ->whereOr('abbr', 'like', "%{$keyword}%"); }) ->field('area_code, merge_name') ->orderRaw( "CASE WHEN name LIKE '{$keyword}%' THEN 1 WHEN pinyin LIKE '{$keyword}%' THEN 2 WHEN abbr LIKE '{$keyword}%' THEN 3 ELSE 4 END" ) ->limit(0,10) ->select(); $this->success(data:$data); } } }