不工作的表达

时间:2014-03-26 08:05:40

标签: mysql yii

的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);

1 个答案:

答案 0 :(得分: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);