ES Español
Versión: v2.3.0

action

Ejecutar consultas dentro de una transacción.

action($callback)
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;