原则 2 关于删除 级联设置为删除


Doctrine 2 onDelete CASCADE set to deleted

我正在做一个从未真正删除任何记录的项目。我正在尝试让 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 级别的级联操作。