Version: v2.3.0
action
Abfragen innerhalb einer Transaktion ausführen.
action($callback)
callback [callable]
Die Callback-Funktion, die die innerhalb der Transaktion auszuführenden Abfragen enthält.
Rückgabewert
void
Die Unterstützung für Transaktionen hängt von der Datenbank-Engine ab. Wenn die Callback-Funktion
false zurückgibt, wird die Transaktion zurückgerollt; andernfalls wird sie automatisch festgeschrieben.$database->action(function($database) {
$database->insert("account", [
"name" => "foo",
"email" => "bar@abc.com"
]);
$database->delete("account", [
"user_id" => 2312
]);
// Wenn eine Bedingung fehlschlägt, geben Sie false zurück, um die Transaktion zurückzurollen.
if ($database->has("post", ["user_id" => 2312])) {
return false;
}
});
Zugriff auf Daten außerhalb von action()
Wenn Sie Daten außerhalb des
action()-Callbacks verwenden möchten, deklarieren Sie die Variable zunächst und übernehmen Sie sie mit use in die Closure. Jeder innerhalb des Callbacks gesetzte Wert steht nach Abschluss der Transaktion weiterhin zur Verfügung.$result = "";
$database->action(function($database) use (&$result) {
$database->insert("account", [
"user_name" => "foo"
]);
$newId = $database->id();
$result = "Das Konto wurde mit der ID {$newId} erstellt.";
});
echo $result;