现在是这么写的
$field='product_id,create_time,getDistance('.$user_lng.','.$user_lat.',pos_lng,pos_lat) as dis';
$result=$this->field($field)->where($map)->order($order)->select();
echo $this->getLastSql();打印的sql语句却不正确SELECT getDistance(114.085947,pos_lat) as dis,Products.product_id AS product_id,Products.create_time AS create_time,Shops.pos_lng AS pos_lng FROM rr_products Products JOIN rr_shops Shops ON Products.shop_id=Shops.shop_id JOIN rr_type Type ON Products.type_id=Type.type_id JOIN rr_car_type Car_type ON Products.car_id=Car_type.car_id WHERE ( Products.type_id = '6' ) AND ( Products.car_id IN () ) AND ( Shops.city = '1966' ) ORDER BY dis asc getDistance(114.085947,pos_lat),原来四个参数的,却变成了两个参数....有没有人知道错在哪里?还是有别的好方法调用mysql函数的??求助!!!
不然只是写原生的sql语句了...
最佳答案