Php AddBetween条件今天不返回

Php AddBetween条件今天不返回,php,yii,Php,Yii,我试过几种方法。它没有返回正确的号码。它要么给我在开头设置的默认数字,要么返回搜索条件,但忽略存储id $percent = 8; $today = date('Y-m-d'); $criteria = new CDbCriteria(); $criteria->compare('store_id', 253); // $criteria->condition = 'store_id=:store_id';

我试过几种方法。它没有返回正确的号码。它要么给我在开头设置的默认数字,要么返回搜索条件,但忽略存储id

        $percent = 8;
        $today = date('Y-m-d');

        $criteria = new CDbCriteria();
        $criteria->compare('store_id', 253);
//      $criteria->condition = 'store_id=:store_id';
//      $criteria->params = array('store_id'=>253);
//      the bottom addcondition ignores that store id, and gives me what it finds btwn dates
//      $criteria->addCondition = 'CURRENT_DATE BETWEEN date_from AND date_to'; 
//      addbetweencondition doesn't find anything between dates
        $criteria->addBetweenCondition($today, 'date_from', 'date_to');
        $override = Model::model()->find($criteria);
        if ($override) {
            $override_percent= $override->percent/100;
        }
        print_r ($override_percent);
您使用的addBetweenCondition错误。前三个参数应为:

要匹配的列 开始日期 结束日期 我认为它应该类似于下面未经测试的代码:

$date_from = date('Y-m-d');
$date_to = date('Y-m-d 23:59:59');
$criteria->addBetweenCondition('column_name_that_contains_date', $date_from, $date_to);
了解有关该函数的更多信息:

啊,没错,。。但是我的列名实际上不是一个列,而是今天的日期,那该如何工作呢?列名始终是当前的今天日期?嗯,不是。列是从日期和日期到日期。我猜addbetweencondition在这里不起作用。