2016-05-31 67 views
3

Silverstripe 3.3是否支持與MySQL的交易?如果是這樣,它可以與ORM一起使用嗎?如何在使用MySQL的Silverstripe 3.3中使用事務?

我找不到關於此主題的任何文檔。一個例子會非常好。

+0

這個功能應該深埋在ORM中,應用程序應該很少打擾它。 ORM的重點在於隱藏ORM用戶的這些細節。在API文檔中快速搜索發現,mysql coonector類確實有start/end/rollback事務方法,所以silverstripe知道這個功能。 – Shadow

回答

3

正如Shadow所說,你不應該擔心事務,因爲SilverStripe會在內部處理它們。

話雖這麼說,如果你需要明確地做一些事情,你可以做這樣的事情:

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

    // do stuff... 

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

SS_Database - API documentation here