2014-03-26 56 views
0

Yii! 請告訴我,爲什麼這個expreesion返回0條記錄,儘管數據庫包含的數據與此請求相匹配。不工作表情

$soldStatus = array('STATUS'=>'Sold','SELLER' => Yii::app()->user->id); 
$criteria = new CDbCriteria(array('order'=>'DATE_SALE DESC')); 

$startDate = new CDbExpression("NOW() - INTERVAL 1 MONTH"); 
$stopDate = new CDbExpression("NOW()"); 

$criteria->addBetweenCondition('DATE_SALE', $startDate, $stopDate); 
$allSoldProducts = Products::model()->findAllByAttributes($soldStatus, $criteria); 
+0

你有沒有嘗試沒有「包裝」屬性CDbCriteria? – Justinas

+0

但是'$ criteria-> condition =「DATE_SALE> NOW() - INTERVAL 1 MONTH」;'正在工作 – user3463097

回答

1

我認爲這個問題是與CDbExpressions - 它們是對象,並嘗試將它們安置在需要值一個函數,。 addBetweenCondition

它期望2個字符串,你給它2個表達式對象。 我會改變它到這個:

$soldStatus = array('STATUS'=>'Sold','SELLER' => Yii::app()->user->id); 
$criteria = new CDbCriteria(array('order'=>'DATE_SALE DESC')); 

$criteria->addBetweenCondition('DATE_SALE', "NOW() - INTERVAL 1 MONTH", "NOW()"); 
$allSoldProducts = Products::model()->findAllByAttributes($soldStatus, $criteria);