今天日期的Yii dataprovider标准

Sha*_*ier 0 criteria yii dataprovider conditional-statements

我想仅在今天的日期显示数据提供者中的数据.$ data-> timedate是约会日期.如果它等于当前日期,则显示它.以下代码不起作用.

//today appointments dataprovider
        $taProvider=new CActiveDataProvider('Appointments',array(
                'sort'=>array(
                    'defaultOrder'=>'datetime ASC',
                    ),
                'criteria'=>array(
                        'condition'=>'cId=:cId',
                        'params'=>array(':cId'=>Yii::app()->user->id),
                        'condition'=>$data->timedate = date('Y-m-d'),


                    ),    
            ));
Run Code Online (Sandbox Code Playgroud)

Man*_*uer 5

编辑修改了使用CDbcriteria对象

您正在使用CDbCriteria-> condition中的PHP变量.CDbCriteria条件只是你的SQL查询中的where子句http://www.yiiframework.com/doc/api/1.1/CDbCriteria#condition-detail 如果你需要添加你需要的条件,你的第二个赋值也会覆盖第一个赋值使用addCondition()方法

更改

 'criteria'=>array(
                        'condition'=>'cId=:cId',
                        'params'=>array(':cId'=>Yii::app()->user->id),
                        'condition'=>$data->timedate = date('Y-m-d'),


                    ),
Run Code Online (Sandbox Code Playgroud)

'criteria'=>array(
        'condition'=>"DATE(t.timedate) = DATE(NOW()) AND cId=:cId ",
        'params'=>array(':cId'=>Yii::app()->user->id),
 ),
Run Code Online (Sandbox Code Playgroud)