2

我正在做一个我从未真正删除任何记录的项目。我试图让 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。我不知道从这里去哪里。我是否需要利用事件来覆盖默认删除并设置我的标志?

谢谢你。

4

1 回答 1

1

设置 Doctrine2 软删除(有一个扩展),然后通过设置cascade={"remove"}实体来使用 Doctrine 的级联操作而不是 RDBMS 级别的操作。

于 2012-07-06T21:16:30.423 回答