When I have this code:
$criteria = new CDbCriteria();
$criteria->with = array('tweTicketPriceLevels' => array('alias'=>'pl'));
$criteria->condition = "(pl.start_timestamp - interval ':etz seconds') < (LOCALTIMESTAMP - interval ':stz seconds')";
$criteria->addCondition("(pl.end_timestamp - interval ':etz seconds') >= (LOCALTIMESTAMP - interval ':stz seconds')");
$criteria->addCondition('t.event_id = :eid');
$criteria->addCondition('t.deleted IS NULL');
$criteria->addCondition('pl.deleted IS NULL');
$criteria->params = array(':etz' => (int)$etz, ':stz' => (int)$stz_offset, ':eid' => (int)$eid);
return self::model()->findAll($criteria);
it write me the error: HY093: invalid parameter number, but when I write this:
$criteria = new CDbCriteria();
$criteria->with = array('tweTicketPriceLevels' => array('alias'=>'pl'));
$criteria->condition = "(pl.start_timestamp - interval '".$etz." seconds') < (LOCALTIMESTAMP - interval '".$stz_offset." seconds')";
$criteria->addCondition("(pl.end_timestamp - interval ':etz seconds') >= (LOCALTIMESTAMP - interval ':stz seconds')");
$criteria->addCondition('t.event_id = :eid');
$criteria->addCondition('t.deleted IS NULL');
$criteria->addCondition('pl.deleted IS NULL');
$criteria->params = array(':eid' => (int)$eid);
return self::model()->findAll($criteria);
it run without error. It is some bug, or it has some reason? I use postgresql database.