select('max(m.id) as id ') ->from('gps_new as m') ->where(['and', ['in', 'm.bus_no', $bus_no_array], ['=', 'm.run_date', $current_day]]) ->groupBy("m.bus_no") ->all(); if( !$res1 ) { return false; } $gps_id_array = array(); foreach( $res1 as $res_info ) { $gps_id_array[] = $res_info["id"]; } $res2 = (new Query())->select('m.id,m.bus_no, m.latitude, m.longitude, m.gpsSpeed, m.speed, m.direction, m.create_time as update_time') ->from('gps_new as m') ->where(['and', ['in', 'm.id', $gps_id_array]]) ->all(); return $res2; } }