今天日期的Yii dataprovider标准

时间:2013-11-15 23:50:07

标签: yii conditional-statements criteria dataprovider

我只想在今天的日期显示数据提供者中的数据。 $ 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'),


                    ),    
            ));

1 个答案:

答案 0 :(得分:5)

编辑修改了使用CDbcriteria对象

您正在使用CDbCriteria->条件中的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'),


                    ),

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