このSQLクエリをphpアクティブレコードクエリとして実行しようとしています:
delete from article_categories where
article_id = 10
and
category_id in (1,4,5,6,7)
このステートメントは、mysql コンソールから実行すると正常に機能します。
私はphpアクティブレコードからこれをやってみました:
$query["conditions"] = array('article_id = ? and category_id in (?)', 10, "1,4,5,6,7");
ArticleCategory::delete_all($query);
問題は、一度に 1 つのレコードしか削除されないことです。
一致するすべてのレコードを期待します
article_id == 3
と
category_id == 1 || category_id == 2 || ... || category_id == 5
削除されます。
ただし、フィールド article_id = 3、category_id = 1 を持つ最初のレコードのみ
削除されます。
何を間違って入力していますか?