VI Tiếng Việt
Phiên bản: v2.3.0

action

Thực thi nhiều truy vấn bên trong một giao dịch.

action($callback)
Giá trị trả về
void
Khả năng hỗ trợ giao dịch phụ thuộc vào engine cơ sở dữ liệu. Nếu hàm này trả về false, giao dịch sẽ được hoàn tác; ngược lại, nó sẽ được xác nhận tự động.
$database->action(function($database) {

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

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

	// Nếu có điều kiện nào không đạt, hãy trả về false để hoàn tác giao dịch.
	if ($database->has("post", ["user_id" => 2312])) {
		return false;
	}
});

Sử dụng dữ liệu bên ngoài action()

Để dùng dữ liệu bên ngoài hàm được truyền vào action(), hãy khai báo biến trước rồi đưa biến đó vào hàm ẩn danh bằng use. Mọi giá trị được gán trong hàm này đều vẫn có thể dùng sau khi giao dịch kết thúc.
$result = "";

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

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

    $newId = $database->id();

    $result = "Đã tạo tài khoản với ID {$newId}.";
});

echo $result;