8
は、私は以下のクラスがあるとしましょう:我々は削除すると Doctrine 2でManyToMany関係のエンティティを一括で削除する方法は?
class Store
{
/**
* @ManyToMany(targetEntity="PaymentMethod")
*/
protected $paymentMethods;
}
class PaymentMethod
{
}
は
PaymentMethod
(あるいは単に、実際にデータベースから削除せず、無効)、私たちはこの
paymentMethod
はすべて
Store::$paymentMethods
のコレクションから削除されることをしたいと思います。今まで
、我々はこのために、接合テーブルの上に生のSQLクエリを使用してきた:
DELETE FROM StorePaymentMethod WHERE paymentMethodId = ?
は教義では、好ましくはDQLでいることを実行する方法はありますか?
私はこれをまっすぐにしましょう。削除された支払い方法をStoreクラスのリストから削除しますか? DBから削除してもリストからは削除されません。 – jere
これは多対多の場合、 'PaymentMethod'の' $ stores'コレクションを空のコレクションに設定して永続化できませんか?その相互リンクがレコードを保持しないように、メモリ内のすべての 'Store'オブジェクトを無効にする必要があります。理想的な世界では、あなたが空を実行するために書くアクセサメソッドは、相互リンクを削除する 'Stores'を通過するでしょう。 – Orbling