CakePHP проверяет два условия поиска одновременно - PullRequest
0 голосов
/ 15 января 2012

У меня есть следующий код поиска:

if($this->User->find('first', array(
                        'conditions' => array(
                            'User.username' => $this->data['User']['username'],
                            'User.email' => $this->data['User']['username'])
                    )))

Идея состоит в том, что он обнаружит, существует ли пользователь с адресом электронной почты или именем пользователя, совпадающим с тем, что было отправлено в поле ввода имени пользователя.

Проблема в том, что на самом деле он будет пытаться сопоставить ОБА, а не одно или другое, что я действительно хочу.Как мне это сделать?

Я пытался со следующим, но все еще безуспешно:

if($this->User->find('first', array(
                        'conditions' => array('OR' => array(
                            array('User.username' => $this->data['User']['username']),
                            array('User.email' => $this->data['User']['username'])))))

Спасибо

1 Ответ

4 голосов
/ 15 января 2012

Вы были близки, должно получиться так

$opts = array(
   'conditions' => array(
       'or' => array(
          'User.username' => $this->data['User']['username'],
          'User.email' => $this->data['User']['username']
        )
    )
)
$this->User->find('first', $opts)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...