2016-05-31 7 views
3

Unterstützt Silverstripe 3.3 Transaktionen mit MySQL? Wenn ja, kann es mit dem ORM verwendet werden?Wie verwende ich Transaktionen in Silverstripe 3.3 mit MySQL?

Ich kann keine Dokumentation zu diesem Thema finden. Ein Beispiel wäre sehr nett.

+0

Diese Funktionalität sollte tief im ORM vergraben sein, die Anwendung sollte selten damit umgehen. Der ganze Sinn von ORMs besteht darin, diese Details vor den Benutzern des ORM zu verbergen. Eine schnelle Suche in der API-Dokumentation ergab, dass die mysql-Coonektor-Klasse über Start/Ende/Rollback-Transaktionsmethoden verfügt, sodass silverstripe diese Funktionalität kennt. – Shadow

Antwort

3

Da Shadow erwähnt wird, sollten Sie sich keine Gedanken über Transaktionen machen müssen, da SilverStripe intern damit umgehen wird.

aber sagen, dass, wenn Sie ausdrücklich etwas tun müssen, können Sie etwas tun könnte:

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

    // do stuff... 

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

SS_Database See - API documentation here.

Verwandte Themen