1対1のテーブルがあります。私の config/doctrine/schema.yml では、両方のテーブルにそれぞれ次のものがあります。
TableA:
#...
relations:
TableB: { onDelete: CASCADE, local: id, foreign: table_a_id }
ら
TableB:
#...
relations:
TableA: { onDelete: CASCADE, local: table_a_id, foreign: id }
TableA 要素を削除すると、TableB の対応する要素も削除されます。しかし、これは逆には機能しません。
Symfony で 1 対 1 の相互削除を行うには?
@Pabloks:理解しました。提示した単純化されたケースに進みます。しかし実際には、少なくとも 3 番目のテーブルがあります。実際、最初のテーブルと他の 2 つのテーブルの間に継承の概念があります。
TableA:
#...
relations:
TableB: { onDelete: CASCADE, local: id, foreign: table_a_id }
TableC: { onDelete: CASCADE, local: id, foreign: table_a_id }
TableB:
#...
relations:
TableA: { onDelete: CASCADE, local: table_a_id, foreign: id }
TableC:
#...
relations:
TableA: { onDelete: CASCADE, local: table_a_id, foreign: id }