เวอร์ชัน: v2.3.0
action
รันคิวรีภายในธุรกรรม
action($callback)
callback [callable]
ฟังก์ชันที่รวมคิวรีซึ่งต้องรันภายในธุรกรรม
ค่าที่ส่งกลับ
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;