FR Français
Version: v2.3.0

action

Exécuter des requêtes dans une transaction.

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