我正在开展一个我从未真正删除任何记录的项目。我试图让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。我不知道从哪里开始。我是否需要点击事件来覆盖默认删除并设置我的标志?
谢谢。
答案 0 :(得分:1)
设置Doctrine2软删除(它有一个扩展名)然后通过在实体上设置cascade={"remove"}
来使用Doctrine的级联操作而不是RDBMS级别的操作。