我正在做一个从未真正删除任何记录的项目。我正在尝试让 Doctrine 在级联上将实体设置为"已删除"(标志)。这里有两个实体来说明我目前的关联;
Model_Account
/**
* @OneToMany(targetEntity="Model_Profile",mappedBy="Account")
*/
protected $Profiles;
Model_Profile
/**
* @ManyToOne(targetEntity="Model_Account",inversedBy="Profiles")
* @JoinColumn(name="AccountId",referencedColumnName="Id",onDelete="CASCADE")
*/
protected $Account;
当我删除一个帐户时,我希望与该帐户关联的所有配置文件也被删除,但前提是将其"已删除"标志设置为 true。我不知道该何去何从。我是否需要点击事件来覆盖默认删除并仅设置我的标志?
谢谢。
设置 Doctrine2 软删除(它有一个扩展),然后通过在实体上设置cascade={"remove"}
来使用 Doctrine 的级联操作,而不是 RDBMS 级别的级联操作。