Yii CActiveRecord::findall引发异常

Yii CActiveRecord::findall引发异常,yii,Yii,我试图根据给定的条件在我的一个表中执行搜索,如下所示: $id = 1; $criteria = new CDbCriteria(); $criteria->addCondition("usr_currency=:currency"); $currencies = User::model()->findAll($criteria, array(':currency' => $id,)); 我得到一个CDBEException: CDbCommand faile

我试图根据给定的条件在我的一个表中执行搜索,如下所示:

$id = 1;
$criteria = new CDbCriteria();
$criteria->addCondition("usr_currency=:currency");
$currencies = User::model()->findAll($criteria, array(':currency' => $id,));        
我得到一个
CDBEException

CDbCommand failed to execute the SQL statement: 
SQLSTATE[HY093]: Invalid parameter number: no parameters were bound. 
The SQL statement executed was: 
    SELECT * FROM `user` `t` 
    WHERE usr_currency=:currency
如有必要,这是可行的:

$id = 1;
$criteria = new CDbCriteria();
$criteria->addCondition("usr_currency=:currency");
$criteria->params = array(':currency' => $id,);
$comments = User::model()->findAll($criteria);      
第一个代码片段有什么问题?

来自

仅当第一个参数是字符串(查询条件)时才使用此参数。在其他情况下,请使用CDbCriteria::params设置参数


啊,我明白了。
CActiveRecord::findAll()
说明中的
findAll()文档未提及任何此类:)说明:查找满足指定条件的所有活动记录。有关$condition和$params的详细说明,请参见find()