Подтвердить что ты не робот

CakePHP проверяет, существует ли запись

Мне интересно, есть ли функция, которая позволяет мне мгновенно проверять, существует ли запись в базе данных?

Сейчас я использую следующий фрагмент кода, чтобы определить, существует ли запись, но я могу представить, что есть более простой/лучший способ.

        $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(), но мне нужно то же самое, но с параметрами, поэтому я могу добавить свои собственные условия для проверки.

Я искал google, но я не могу найти тему об этом. Ну, много о php и mysql, но не о cakephp. Мне нужен конкретный ответ на торт. Спасибо за ваше время:)

4b9b3361

Ответ 1

То, что вы ищете, Model:: 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
}