T10*_*000 0 database criteria yii
我正在使用Yii 1.1.8.尝试在控制器操作中按日期限制$ dataProvider源.我想过滤数据集以仅显示最近2年的条目,但无法使其工作.
我在事件表中有两条记录,其中一条记录是2个月前,另一条记录是4年前.
尝试:
$dataProvider=new CActiveDataProvider('Event', array(
'criteria'=>array(
'condition'=>'date >= '.date('Y-m-d', strtotime('-2 years')). ' AND date <='. date('Y-m-d'),
),
));
Run Code Online (Sandbox Code Playgroud)
和
$dataProvider=new CActiveDataProvider('Event', array(
'criteria'=>array(
'condition'=>'date >= '.date('Y-m-d', strtotime('-2 years')),
),
));
Run Code Online (Sandbox Code Playgroud)
和
$dataProvider=new CActiveDataProvider('Event', array(
'criteria'=>array(
'condition'=>'date BETWEEN '.date('Y-m-d', strtotime('-2 years')).' AND '. date('Y-m-d'),
),
));
Run Code Online (Sandbox Code Playgroud)
全部返回"未找到结果".我究竟做错了什么?它似乎应该是简单的东西,但我很难过.
创建新的CDbCriteria然后将条件对象传递到CActiveDataProvider的第二个参数中会更容易.
http://www.yiiframework.com/doc/api/1.1/CDbCriteria#addBetweenCondition-detail
$criteria = new CDbCriteria;
$criteria->addBetweenCondition($column, $valueStart, $valueEnd, 'AND');
$dataProvider=new CActiveDataProvider('Event', array('criteria'=>$criteria));
Run Code Online (Sandbox Code Playgroud)