UK Українська
Версія: v2.3.0

action

Виконує запити в межах транзакції.

action($callback)
Значення, що повертається
void
Підтримка транзакцій залежить від рушія бази даних. Якщо callback повертає false, транзакція відкочується; інакше її буде зафіксовано автоматично.
$database->action(function($database) {

	$database->insert("account", [
		"name" => "foo",
		"email" => "bar@abc.com"
	]);

	$database->delete("account", [
		"user_id" => 2312
	]);

	// Якщо будь-яка умова не виконується, поверніть false, щоб відкотити транзакцію.
	if ($database->has("post", ["user_id" => 2312])) {
		return false;
	}
});

Доступ до даних поза зворотним викликом action()

Щоб використовувати дані поза зворотним викликом action(), спочатку оголосіть змінну та імпортуйте її в замикання за допомогою use. Будь-яке значення, присвоєне всередині зворотного виклику, буде доступним після завершення транзакції.
$result = "";

$database->action(function($database) use (&$result) {

    $database->insert("account", [
        "user_name" => "foo"
    ]);

    $newId = $database->id();

    $result = "Обліковий запис створено з ID {$newId}.";
});

echo $result;