Active Records и условие NOT IN

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
zolton007
Сообщения: 180
Зарегистрирован: 2013.08.16, 08:43
Откуда: Воронеж

Active Records и условие NOT IN

Сообщение zolton007 »

Здравствуйте!
Кто знает как правильно добавить условие NOT IN?
Дело в том, что с просто IN все оказалось легко:

Код: Выделить всё

User::find()->where(['id' => $_membersIds])->all() 
А как быть с NOT IN? Нашел в сети вот такое:

Код: Выделить всё

User::findAll(['not in ','id', $_membersIds]); 
но оно не работает. В дебаггере получается вот что:

Код: Выделить всё

SELECT * FROM `user` WHERE `id` IN ('not in ', 'id', NULL) 
..хотя в $_membersIds массив. Я проверял :)

А если написать вот так, например:

Код: Выделить всё

User::find()->where(['not in ','id', array(8,9)])->all() 
то вываливается с таким вот месседжем:

Код: Выделить всё

SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '8' at line 1
The SQL being executed was: SELECT * FROM `user` WHERE `id` NOT IN 8
Аватара пользователя
vitalik1183
Сообщения: 1675
Зарегистрирован: 2014.07.01, 08:42

Re: Active Record и условие NOT IN

Сообщение vitalik1183 »

Код: Выделить всё

User::find()->where(['not in','id', array(8,9)])->all() 
Yii2!
Аватара пользователя
zolton007
Сообщения: 180
Зарегистрирован: 2013.08.16, 08:43
Откуда: Воронеж

Re: Active Record и условие NOT IN

Сообщение zolton007 »

vitalik1183 писал(а):

Код: Выделить всё

User::find()->where(['not in','id', array(8,9)])->all()
**тваюмать :oops: спасибо большое, Зоркий глаз. Всё, пора отдыхать :D
Ответить