الإصدار: v2.3.0
action
تنفيذ الاستعلامات داخل معاملة.
action($callback)
callback [callable]
الدالة التي تتضمن الاستعلامات المطلوب تنفيذها داخل المعاملة.
القيمة المُعادة
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 = "تم إنشاء الحساب بالمعرّف {$newId}.";
});
echo $result;