Mysql 非工作表达式

Mysql 非工作表达式,mysql,yii,Mysql,Yii,哎呀! 请告诉我,尽管数据库包含与此请求匹配的数据,但为什么此表达式返回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")

哎呀! 请告诉我,尽管数据库包含与此请求匹配的数据,但为什么此表达式返回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);

我认为问题在于CDBExpression——它们是对象,您试图将它们设置为需要值的函数。

它需要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);

您是否尝试过不将属性“包装”到CDbCriteria?而是
$criteria->condition=“DATE\u SALE>NOW()-间隔1个月”正在工作