ist es möglich (wie) mysql transactions und rollbacks mit kohana ORM zu verwenden?kohana transaction mit orm
Antwort
Überprüfen Sie die official forums. Es zeigt ein Beispiel dafür, wie Transaktionen mit Ko3 zu verwenden:
$db->query(NULL, 'TRANSACTION START');
// Do stuff
$db->query(NULL, 'COMMIT');
Wie es zu tun mit der Version 2, ich weiß es nicht. Ich bin selbst noch neu bei Kohana und lerne Ko3 statt 2. Aber ich vermute, es ist ziemlich ähnlich.
SQL-Transaktionen in Kohana 3.x werden nicht wie in 2.x ausgeführt. In 3.x enthält die Datenbankklasse folgende Transaktionsmethoden:
$db->begin();
$db->commit();
$db->rollback();
Dies funktioniert auch, wenn Sie ORM-Dateien verwenden. Starten Sie die Transaktion einfach, bevor ORM speichert, aktualisiert, löscht oder löscht.
Lesen Sie mehr in diesem Beitrag: http://dev.strategystar.net/2011/10/sql-transactions-with-kohana-3-x/
In 2.x Transaktionen getan werden musste manuell:
$this->db->query("START TRANSACTION")
Schön, das ist der Weg zu gehen. –
DB :: instanz() -> begin(), DB :: instanz() -> commit(), DB :: instanz() -> rollback() – Moe
ich ein Kohana Modul erstellt haben, die einfacher mit Transaktionen viel macht:
https://github.com/brazzy/kohana-transactional
Es setzt allerdings voraus, mindestens Kohana 3.1. Aber dann fügen Sie einfach
public $_transactional = true;
an die Steuerung und alle Aktionen werden automatisch in einer Transaktion ausgeführt, die zurückgesetzt wird, wenn die Aktion mit einer Ausnahme fehlschlägt.
nur, ich muss es mit 2.4 verwenden – gpilotino
Ich kann bestätigen, dass dies auch mit 2.3.4 funktioniert – Cocowalla