10 php database transactions model magento
我正在研究Magento模块,需要知道是否可以回滚一系列模型保存.基本上,我有五个模型加上我的模块中的几个模型,我需要一个接一个地保存:
admin/role
admin/user
core/website
core/store_group
core/store
mymodule/model1
mymodule/model2
Run Code Online (Sandbox Code Playgroud)
我的问题是,每当这些模型中的任何一个抛出异常时,我都需要进入MySQL并手动删除所有已保存的行.这非常没有成效.
我很确定Magento没有我可以在我的上下文中访问的回滚过程.例如,我查看Mage_Core_Model_Abstract
并在save方法中,回滚机制都受到保护.
所以,我的问题是,在Magento中进行数据库事务是否有一些我应该注意的最佳实践?
Ala*_*orm 13
我已经看到核心代码中使用了以下内容,它看起来就像你订购的那样.
$transactionSave = Mage::getModel('core/resource_transaction');
$transactionSave->addObject($model_one)
$transactionSave->addObject($model_two)
$transactionSave->save();
Run Code Online (Sandbox Code Playgroud)
该core/resource_transaction
对象允许您添加Magento对象,并对它们执行大量保存.尝试一下,我很想知道这在评论中是如何做到的,或者不对你有用.
归档时间: |
|
查看次数: |
3073 次 |
最近记录: |