0
任何人都可以幫助我將以下SQL語句(它在我的數據庫中工作)轉換爲Yii框架CDbCriteria類格式嗎?加入Yii class CDBCriteria?
這是我的SQL:
SELECT *轎車,3963 * ACOS(COS(弧度(53.376217))* COS(弧度(car_dealers.latitude))* COS(弧度(-1.499595) - 弧度( car_dealers.longitude))+ sin(弧度(53.376217))* sin(弧度(car_dealers.latitude)))距離汽車距離JOIN car_dealers ON cars.company_id = car_dealers.company_id WHERE cars.make ='Fiat'AND cars.model ='Punto'ORDER BY距離;
這裏是我的Yii嘗試:
$criteria= new CDbCriteria;
$criteria->alias = 'cars';
$criteria->select= 'cars.*, 3963 * acos(cos(radians(53.376217)) * cos(radians(car_dealers.latitude)) * cos(radians(-1.499595) - radians(car_dealers.longitude)) + sin(radians(53.376217)) * sin(radians(car_dealers.latitude))) AS distance';
$criteria->join='JOIN car_dealers ON cars.company_id=car_dealers.company_id';
$criteria->condition= 'make=:make AND model=:model';
$criteria->params= array('[:make] => Fiat,[:model] => Punto')
$criteria->order='distance';
非常感謝你提前給任何人誰可以幫助! :)
什麼是錯誤您收到?請提供更多細節。 蝙蝠,我可以看到你錯誤地使用params - $ criteria-> params = array(':make'=>'Fiat',':model'=>'Punto'); – 2012-02-10 01:41:19
基本上,我的對象基於這個參數很好地回來了汽車表中的所有值,但不會將距離值帶回到對象中。 – 2012-02-10 08:49:09
我希望你已經在汽車模型類中聲明瞭$ distance變量 – 2012-02-10 15:31:09