Yii2:如何使用带有两个条件的deleteAll =和NOT IN

时间:2015-11-26 09:14:06

标签: yii2 yii2-model

我正试图从RestoFoods模型中删除数据:

RestoFoods::deleteAll(["restaurant_id"=>$postData['resto_id'], 'food_id NOT IN'=> [1,2] ]);

我想要这个sql:

DELETE FROM `resto_foods` WHERE `restaurant_id`=1 AND (`food_id` NOT IN (1, 2));

1 个答案:

答案 0 :(得分:7)

你可以试试这种方式

RestoFoods::deleteAll(['AND', 'restaurant_id = :restaurant_id', ['NOT IN', 'food_id', [1,2]]], [':restaurant_id' => $postData['resto_id']]);

您想要的输出是:

DELETE FROM `resto_foods` WHERE (restaurant_id = 1) AND (`food_id` NOT IN (1, 2));