我正在尝试使用yii检查数据库表中是否已存在记录。阅读documentation它说有一个方法 exists()可以用来代替使用 findByAttributes()或 find()找到录音。使用更少内存的好处是因为它不必检索记录,只检查它是否存在。
当我尝试像这样实现这个方法时:
if (UserRsvp::model()->exists(array("user_id"=>$userId))) {
echo 'Exists';
} else {
echo "Doesn't exist";
}
我收到错误: * CException:未定义属性“CDbCriteria.user_id”。*
如果我尝试使用findByAttributes方式,它可以正常工作(但我想使用exists()来提高效率)
if(UserRsvp::model()->findByAttributes(array("user_id"=>$userId))) {
echo 'Exists';
} else {
echo "Doesn't exist";
}
我是否在使用exists()方法做错了什么?
答案 0 :(得分:18)
使用此:
UserRsvp::model()->exists('user_id = :user_id', array(":user_id"=>$userId));