web-dev-qa-db-fra.com

Yii2 pas en condition ne fonctionne pas

J'utilise ceci pour la requête pas dans:

 $usertypes=Usertype::find()->where(['not in ','user_type_id',['2,3,4']])->all();

Erreur:

Database Exception – yii\db\Exception

Décalage non défini: 1 Échec de préparation de SQL: SELECT * FROM usertype WHERE user_type_id NOT IN: qp0

également essayé le format de tableau comme ['2', '3', '4'] mais ne fonctionne pas? Quel est le problème?

8
Jackhad

Essaye ça :

$usertypes=Usertype::find()
           ->where(['not in','user_type_id',[2,3,4]])
           ->all();

Voir: http://www.bsourcecode.com/yiiframework2/select-query-model/#In-Condition

12
Yasin Patel

peut-être supprimer le caractère d'espace de 'not in '? $usertypes=Usertype::find()->where(['not in', 'user_type_id', ['2,3,4']])->all();

1
exec

Essayez d'utiliser -> andFilterWhere au lieu de where -> where

Essaye ça:

$usertypes=Usertype::find() ->andFilterWhere(['NOT IN','user_type_id',[2,3,4]]) ->all();

0
Pedro Machadinho

vous pouvez utiliser "pas" Word ou "<>"

 $usertypes=Usertype::find()->where(['not',['user_type_id'=>['2,3,4']]])->all();

ou ca 

 $usertypes=Usertype::find()->where(['<>',['user_type_id'=>['2,3,4']]])->all();
0
sami.ghaffari