Versión: v2.3.0
action
Ejecutar consultas dentro de una transacción.
action($callback)
callback [callable]
La función callback que contiene las consultas que se ejecutarán dentro de la transacción.
Valor devuelto
void
El soporte de transacciones depende del motor de la base de datos. Si la función callback devuelve
false, la transacción se revierte; de lo contrario, se confirma automáticamente.$database->action(function($database) {
$database->insert("account", [
"name" => "foo",
"email" => "bar@abc.com"
]);
$database->delete("account", [
"user_id" => 2312
]);
// Si alguna condición falla, devuelva false para revertir la transacción.
if ($database->has("post", ["user_id" => 2312])) {
return false;
}
});
Accediendo a datos fuera de la acción()
Para usar datos fuera de la devolución de llamada
action(), primero declare la variable e impórtela al cierre con use. Cualquier valor asignado dentro de la devolución de llamada estará disponible una vez finalizada la transacción.$result = "";
$database->action(function($database) use (&$result) {
$database->insert("account", [
"user_name" => "foo"
]);
$newId = $database->id();
$result = "La cuenta se creó con el ID {$newId}.";
});
echo $result;