如何使用标准获取Yii1中最近3个月的记录?

时间:2016-08-26 05:56:04

标签: php yii

我试图获得过去3个月的记录。我有最新数据和时间和记录的added_date。

我试试这个

$criteria->condition = "registered >= ".date('Y-m-d h:i:s',(strtotime ( '-3 month' , strtotime ($now))));

但它给出了错误 enter image description here

请给我正确的建议或答案。 谢谢!

2 个答案:

答案 0 :(得分:1)

两个问题:

  1. 您正在替换原始条件而不删除参数':uid'因此错误。
  2. 日期时间没有正确引用。
  3. 使用CDbCriteria::addCondition()功能,因为您可以将日期添加为参数,并让Yii为您报价:

    $criteria->addCondition('registered >= :registered');
    $criteria->params[':registered'] = date('Y-m-d h:i:s', strtotime('-3 month'));
    

答案 1 :(得分:0)

您可以将此解决方案用于您的问题:

$model = new Modelname();
$criteria=new CDbCriteria;
$date = date('Y-m-d h:i:s', (strtotime('-3 month')));
$criteria->condition = "registered >= ".$date;
$criteria->addCondition = 'user_id=:userID';
$criteria->params = array(':user_id' => Yii::app()->user->model->id);
$res = $model->findAll($criteria);