Field无法使用mysql的自定义函数??

浏览:1241 发布日期:2016/01/21 分类:求助交流 关键字: mysql tp field 自定义函数
在mysql里写了一个自定义函数来计算地理距离.由于要实时传参才能算,所以不能通过视图来设置那个字段
现在是这么写的$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语句了...
最佳答案
评论( 相关
后面还有条评论,点击查看>>