Cakephp 检查记录是否存在

2022-08-30 12:53:52

我想知道,有没有一个功能可以让我立即检查数据库中是否存在记录?

现在,我正在使用以下代码来检测是否存在记录,但我可以想象有一种更简单/更好的方法。

$conditions = array(
    'conditions' => array(
         'User.id' => $this->Session->read('User.id'),
         'User.activation_key' => $this->Session->read('User.key')
     )
);
$result = $this->User->find('first', $conditions);
if (isset($result['User'])){
    //do something
}

有没有像这样的东西:

$conditions = array(
    'conditions' => array(
         'User.id' => $this->Session->read('User.id'),
         'User.security_key' => $this->Session->read('User.key')
    )
);
if ($this->User->exists($conditions)){
    //do something
}

好的,是的,有。它被称为,但我需要相同的,但带有参数,所以我可以将自己的条件添加到检查中。exists()

我已经搜索了谷歌,但我找不到任何关于此的主题。嗯,很多关于php和mysql,但不是关于cakephp。我需要一个蛋糕具体的答案。

感谢您抽出宝贵时间:)


答案 1

你要找的是 模型::hasAny

用法:

$conditions = array(
    'User.id' => $this->Session->read('User.id'),
    'User.security_key' => $this->Session->read('User.key')
);
if ($this->User->hasAny($conditions)){
    //do something
}

答案 2

推荐