Magento数据库事务

Magento数据库事务,magento,transactions,Magento,Transactions,在Magento中,如何在单个事务中插入多个表中的数据,并在过程中出现任何错误时回滚。??我可以编写自定义查询并使用事务,但我更喜欢使用Magento方法。您可以尝试Mage::getModel('core/resource\u transaction')。它的文档,如它是 但可能更有用的是,这里有一种使用它从订单创建发票的方法。如果您试图做的是模型保存,那么可以接受答案。这将允许您通过回滚将任何数字链接在一起 但是,如果您正在执行可能触发回滚的其他操作,或者您自己正在回滚,那么您希望使用更低级

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

您可以尝试Mage::getModel('core/resource\u transaction')。它的文档,如它是


但可能更有用的是,这里有一种使用它从订单创建发票的方法。

如果您试图做的是模型保存,那么可以接受答案。这将允许您通过回滚将任何数字链接在一起

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

$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();
}

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

示例链接的内容与答案无关