2017-04-14 9 views
0

ステータスコードが2の場合、すべての顧客をステータス1に更新したいと考えています。ただし、(1、3、5、 8)。Yii 2すべて更新しない

$customerNotIn = array(1, 3, 5 ,8); 
Customer::updateAll(['status' => 1], 'status = 2'); 

どうすれば実現できますか?

答えて

2

あなたのケースになりますので、条件は、あなたが->where()に入れたいものの形式にすることができます。

$customerNotIn = array(1, 3, 5 ,8); 
Customer::updateAll(['status' => 1], ['AND', 
    'status = 2', 
    ['NOT IN', 'status', $customerNotIn] 
]); 
+0

、これは正しくありません。これは1,3,5,8にない状態1に変わります。私が望むのは、ステータスを2に変更することですが、customer_id = 1,3,5,8 – CloudSeph

+0

では変更できません。わかりません。最終的なステータスはどのようなものでなければならないのですか? – gmc

+0

はい。私は両方の条件が必要です – CloudSeph

関連する問題