首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Magento数据库事务

Magento数据库事务
EN

Stack Overflow用户
提问于 2011-09-02 19:52:36
回答 2查看 13.8K关注 0票数 8

在Magento中,如何在单个事务中插入多个表中的数据,并在过程中出现错误时进行回滚。我可以编写自定义查询和使用事务,但我更喜欢使用Magento方法。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-02 20:00:31

您可以尝试使用Mage::getModel('core/resource_transaction')。它的文档,比如它是here

但可能更有用的是,下面是使用它从订单创建发票的example

票数 7
EN

Stack Overflow用户

发布于 2013-09-30 18:07:18

如果您尝试的是模型保存,那么公认的答案是可以接受的。这将允许您使用回滚将任何数字链接在一起。

但是,如果您正在执行可能触发回滚的其他操作,或者正在执行回滚,那么您需要使用更低级别的操作:

代码语言:javascript
复制
$connection = Mage::getSingleton('core/resource')->getConnection('core_write');
try {
    $connection->beginTransaction();

    // Make saves and other actions that affect the database

    $connection->commit();
} catch (Exception $e) {
    $connection->rollback();
}

您也可以从模型获取连接,但可能没有可用的连接。

票数 30
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7283010

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档