5

私は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));
4

1 に答える 1

8

この方法で試すことができます

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));
于 2015-12-09T09:56:30.570 に答える