Doctrine 2 onDelete CASCADE设置为已删除

时间:2012-07-06 21:04:53

标签: php doctrine cascade

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

谢谢。

1 个答案:

答案 0 :(得分:1)

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