3

我正在尝试使用 yii 检查数据库表中是否已存在记录。阅读文档,它说有一种方法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() 方法做错了吗?

4

1 回答 1

20

用这个:

UserRsvp::model()->exists('user_id = :user_id', array(":user_id"=>$userId));
于 2013-09-25T06:56:22.210 回答