AR العربية
الإصدار: 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 = "تم إنشاء الحساب بالمعرّف {$newId}.";
});

echo $result;