Version: v2.3.0
action
Exécuter des requêtes dans une transaction.
action($callback)
callback [callable]
La fonction de rappel qui contient les requêtes à exécuter dans la transaction.
Valeur de retour
void
La prise en charge des transactions dépend du moteur de base de données. Si la fonction de rappel renvoie
false, la transaction est annulée ; sinon, elle est validée automatiquement.$database->action(function($database) {
$database->insert("account", [
"name" => "foo",
"email" => "bar@abc.com"
]);
$database->delete("account", [
"user_id" => 2312
]);
// Si une condition échoue, renvoyez false pour annuler la transaction.
if ($database->has("post", ["user_id" => 2312])) {
return false;
}
});
Accéder aux données en dehors de l'action()
Pour utiliser des données en dehors du rappel
action(), déclarez d'abord la variable et importez-la dans la fermeture avec use. Toute valeur attribuée dans le rappel sera alors disponible une fois la transaction terminée.$result = "";
$database->action(function($database) use (&$result) {
$database->insert("account", [
"user_name" => "foo"
]);
$newId = $database->id();
$result = "Le compte a été créé avec l'identifiant {$newId}.";
});
echo $result;