私は 2 つのエンティティCategory
とを持っImage
ています。カテゴリには多くの画像を含めることができるため、基本的には 1 対多の関係ですがImage
、他のエンティティからも参照できます。そのため、mm テーブルを介して unique=true 制約を使用して多対多を実行しています。
だから私の構造は次のようなものです:
category
-- id
images
-- id
category_images
-- category_id
-- image_id
今、次のようなことをして、カテゴリから画像を削除したいだけです:
$category->images = new ArrayCollection();
また
unset($category->images);
ここでの問題は、これが接続のみを削除することです。たとえば、mm テーブルのレコード ( ) は正しいですが、mm レコードを削除すると、テーブルcategory_images
内の関連するレコードも削除する注釈が必要でしょうか?images
これは mm の考え方から少しずれていることはわかっていますが、1 つの画像が 2 つのエンティティによって参照されるケースはないので、うまくいくはずです。
最後のアイデアは、さまざまなエンティティに画像を添付する機能を持ち、それらを削除する簡単な「自動」方法を提供することです。
何か案は?