2012-11-01 51 views
0

在Yii Framework中使用BETWEEN的正確方法是什麼?Yii Active Record功能BETWEEN

代碼:

... 
$criteria = new CDbCriteria; 
$criteria->condition = 'datetime BETWEEN '.$datetimemin.' AND '.$datetimemax; 
$user = Users::model()->find($criteria); 
... 

錯誤:

SQL: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '07:10:10 AND 2011-10-10 13:10:10)' at line 1. 
+0

只是一個提示:使用'$基準 - > addCondition()的''而不是$基準 - > condition'。否則,您將丟失之前設置的條件或由CDbCriteria的構造函數設置的條件(如果有的話)。 –

回答

12

最正確的

$criteria->addBetweenCondition('attributeName', 'value1', 'value2'); 
2

我不知道 「正確」 的方式做到這一點Yii中。

但錯誤是因爲日期需要引用。

$criteria->condition = 'datetime BETWEEN "'.$datetimemin.'" AND "'.$datetimemax.'"';