Versão: v2.3.0
action
Executar consultas dentro de uma transação.
action($callback)
callback [callable]
A função de callback que contém as consultas a serem executadas na transação.
Valor de retorno
void
O suporte a transações depende do mecanismo de banco de dados. Se a função callback retornar
false, a transação será revertida; caso contrário, será confirmada automaticamente.$database->action(function($database) {
$database->insert("account", [
"name" => "foo",
"email" => "bar@abc.com"
]);
$database->delete("account", [
"user_id" => 2312
]);
// Se qualquer condição falhar, retorne false para desfazer a transação.
if ($database->has("post", ["user_id" => 2312])) {
return false;
}
});
Acessando dados externos action()
Para usar dados fora do retorno de chamada
action(), declare a variável primeiro e importe-a para o fechamento com use. Qualquer valor atribuído dentro do retorno de chamada estará disponível após o término da transação.$result = "";
$database->action(function($database) use (&$result) {
$database->insert("account", [
"user_name" => "foo"
]);
$newId = $database->id();
$result = "A conta foi criada com o ID {$newId}.";
});
echo $result;