在Magento中,如何在单个事务中插入多个表中的数据,并在过程中出现错误时进行回滚。我可以编写自定义查询和使用事务,但我更喜欢使用Magento方法。
发布于 2011-09-02 20:00:31
您可以尝试使用Mage::getModel('core/resource_transaction')。它的文档,比如它是here。
但可能更有用的是,下面是使用它从订单创建发票的example。
发布于 2013-09-30 18:07:18
如果您尝试的是模型保存,那么公认的答案是可以接受的。这将允许您使用回滚将任何数字链接在一起。
但是,如果您正在执行可能触发回滚的其他操作,或者正在执行回滚,那么您需要使用更低级别的操作:
$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();
}您也可以从模型获取连接,但可能没有可用的连接。
https://stackoverflow.com/questions/7283010
复制相似问题