检查模型以查看Yii-PHP中是否存在记录

时间:2013-09-25 06:52:03

标签: php mysql yii

我正在尝试使用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()方法做错了什么?

1 个答案:

答案 0 :(得分:18)

使用此:

UserRsvp::model()->exists('user_id = :user_id', array(":user_id"=>$userId));