web-dev-qa-db-ja.com

Yii2 NOT IN状態が機能しない

私はこれを以下のクエリに使用します:

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

エラー:

Database Exception – yii\db\Exception

未定義のオフセット:1 SQLの準備に失敗しました:SELECT * FROM usertype WHERE user_type_id NOT IN:qp0

配列形式も['2'、 '3'、 '4']として試しましたが、機能しませんか?問題は何ですか?

11
Jackhad

これを試して :

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

または:

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

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

19
Yasin Patel

'not in 'からスペース文字を削除しますか?

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

->andFilterWhereの代わりに->where

これを試して:

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

"not" Wordまたは "<> "

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

またはこれ

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