0

鉴于:

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

在某些情况下,孩子的参考更改为不同的父母。在其中一些情况下,我想在子项的 afterSave 方法中删除父项。当我这样做时,孩子本身就消失了,因为 FK 到新父级的更改尚未写入数据库,并且数据库级级联启动。

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

4

1 回答 1

1

afterSave正如您自己注意到的那样,在将查询写入 DB 之前触发。您需要使用*_save_commit_after事件。星号是您的 Models event_prefix。创建一个 Observer 并监听这个事件,这样可以确保 DB 中的信息已经更新,并且不会受到外键影响。

于 2012-12-13T23:03:38.563 回答