如何在Silverstripe 3.3中使用MySQL事务?

3

Silverstripe 3.3是否支持与MySQL的事务?如果是,它能够与ORM一起使用吗?

我找不到任何关于这个主题的文档。一个例子会非常好。


这个功能应该深深地嵌入到ORM中,应用程序很少需要关心它。ORM的整个目的就是将这些细节从ORM的用户中隐藏起来。在API文档中进行快速搜索后发现,mysql连接器类确实具有开始/结束/回滚事务方法,因此silverstripe已经意识到了这个功能。 - Shadow
1个回答

3

正如Shadow所提到的,您不需要担心事务,因为SilverStripe会在内部处理它们。

话虽如此,如果您需要明确地执行某些操作,可以像这样操作:

try {
    DB::getConn()->transactionStart();

    // do stuff...

    DB::getConn()->transactionEnd();
} catch (Exception $e) {
    DB::getConn()->transactionRollback();
}

请查看SS_Database - 这里的API文档


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接