Согласно документации и этого поста Мне просто нужно указать onDelete = "CASCADE" в @ORM \ JoinColumn, и он должен создать внешний ключ, который каскадно удаляется.Я сделал это ..
/**
* @ORM\OneToMany(targetEntity="OrderDates", mappedBy="order", cascade={"persist", "remove"}, orphanRemoval=TRUE)
* @ORM\JoinColumn(name="order_id", referencedColumnName="id", onDelete="CASCADE")
*/
private $dates;
однако, когда я делаю миграцию, генерируемый им FK не каскадируется при удалении.
ALTER TABLE order_dates ADD CONSTRAINT FK_28EABDE38D9F6D38 FOREIGN KEY (order_id) REFERENCES orders (id)
Я тоже пытался удалить часть , cascade={"persist", "remove"}, orphanRemoval=TRUE
но безрезультатно.
Редактировать: Я также пытался установить его на обратной стороне, но он тоже не работает (на самом деле внешний ключ вообще не создается, когда я это делаюэто):
/**
* @ORM\ManyToOne(targetEntity="Orders", inversedBy="dates", cascade={"persist"})
* @ORM\JoinColumn(name="order_id", referencedColumnName="id", onDelete="CASCADE")
*/
private $order;