TH ไทย
เวอร์ชัน: v2.3.0

action

รันคิวรีภายในธุรกรรม

action($callback)
ค่าที่ส่งกลับ
void
การรองรับธุรกรรมขึ้นอยู่กับเอนจินฐานข้อมูล หากฟังก์ชันนี้คืนค่า 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;