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()