我在两个实体之间有ManyToOne关系,并希望在删除时使用DB(MySQL)级别级联。当我使用doctrine:migrations:diff外键是在没有ON DELETE CASCADE的情况下创建的。
所以我自己添加了这个级联,但是在下次迁移时:diff此语句已被删除。有没有什么办法可以在删除时使用DB级别级联以及doctrine:migrations?
class System {
/**
* @var ArrayCollection
*
* @ORM\OneToMany(targetEntity="Cost", mappedBy="system", cascade={"remove"})
*/
private $costs;
}
class Cost {
/**
* @var System
*
* @ORM\ManyToOne(targetEntity="System", inversedBy="costs", cascade={"remove"})
* @ORM\JoinColumn(name="system_id", referencedColumnName="id")
*/
private $system;
}
答案 0 :(得分:1)
您希望在JoinColumn注释中使用此选项:
* @ORM\JoinColumn(name="system_id", referencedColumnName="id", onDelete="CASCADE")
有关详情,请访问the documentation。