根据文献资料和这个职位,我只需要在@ORM\JoinColumn中指定onDelete=“级联”,它就应该生成一个在delete上级联的外键。我做到了..。
/**
* @ORM\OneToMany(targetEntity="OrderDates", mappedBy="order", cascade={"persist", "remove"}, orphanRemoval=TRUE)
* @ORM\JoinColumn(name="order_id", referencedColumnName="id", onDelete="CASCADE")
*/
private $dates;然而,当我进行迁移时,它生成的FK不会在delete上级联。
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;发布于 2018-10-12 17:26:21
onDelete="CASCADE"工作在拥有方(inversedBy),而不是逆侧(mappedBy)。
https://stackoverflow.com/questions/52784186
复制相似问题