Magento:如何在子引用更改时删除父对象?

时间:2012-12-13 20:30:50

标签: magento

鉴于:

Magento中的两个自定义类,它们之间存在多对一的关系 孩子持有父母的外国钥匙 数据库设置为级联删除。

有些情况下,孩子的引用会更改为其他父级。在某些情况下,我想删除子项的afterSave方法中的父项。当我这样做时,孩子本身就会消失,因为FK到新父母的变化还没有被写入数据库,而数据库级别级联也开始了。

如何在子对象中写入新外键后安排删除父对象?

1 个答案:

答案 0 :(得分:1)

在查询写入数据库之前,

afterSave触发,正如您已经注意到的那样。您需要使用*_save_commit_after事件。星号是你的模型event_prefix。创建一个Observer并监听此事件,这样就可以确保DB中的信息已经更新,并且您不会受到外键影响。