Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Magento:当子引用更改时,如何删除父对象?_Magento - Fatal编程技术网

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

Magento:当子引用更改时,如何删除父对象?,magento,Magento,鉴于: Magento中的两个自定义类之间具有多对一关系。 子项持有父项的外键。 数据库设置为级联删除 在某些情况下,子对象的引用会更改为其他父对象。在某些情况下,我希望在子对象的afterSave方法中删除父对象。当我这样做时,子对象本身就消失了,因为FK对新父对象的更改还没有写入数据库,数据库级别的级联开始生效 在子对象中写入新外键后,如何安排删除父对象?afterSave在将查询写入数据库之前触发,正如您自己所注意到的那样。事件发生后,您需要使用*\u保存\u提交\u。其中星号是您的型号事

鉴于:

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

在某些情况下,子对象的引用会更改为其他父对象。在某些情况下,我希望在子对象的afterSave方法中删除父对象。当我这样做时,子对象本身就消失了,因为FK对新父对象的更改还没有写入数据库,数据库级别的级联开始生效


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

afterSave
在将查询写入数据库之前触发,正如您自己所注意到的那样。事件发生后,您需要使用
*\u保存\u提交\u。其中星号是您的型号
事件前缀
。创建一个观察者并监听此事件,这样您就可以确保数据库中的信息已经更新,并且不会受到外键的影响。

是的。就这样。非常感谢。