امروز:دوشنبه ,۱۳۹۸/۰۲/۰۲
Download http://bigtheme.net/joomla Free Templates Joomla! 3
Home / Yii2 / استفاده از Transaction در Yii2

استفاده از Transaction در Yii2

هنگامی که شما چند عملیات رو در یک فرآیند انجام دهید به آن Transaction می گویند
برای اجرای چند کوئری در یک فرآیند از transaction استفاده می کنیم .
زمانی که همه عملیات ها به درستی اجرا بشه transaction اجرا میشه
در صورتی که یکی از این عملیات ها مشکلی در انجام داشته باشند ,
کل transaction انجام نمیشه , به این معنی که همه ی کارهایی که درست انجام شده به حالت قبل بر گشته میشه
برای استفاده از transaction در yii2 به صورت زیر عمل می کنیم :
قبل از همه namespace مربوط به transaction را فراخونی می کنیم

use yii\db\Query;
$connection = \Yii::$app->db;

در کد زیر عملیات زیر انجام میشه :
۱٫ثبت کاربر جدید
۲٫دادن نقش به کاربر

در صورتی که عملیات بالا به درستی انجام بشه کد کامل اجرا می شود .اما در صورتی که هر کدوم از عملیات ها با مشکل مواجه بشود , کد اجرا نمیشه و اتفاقی در دیتابیس رخ نخواهد داد.

$transaction = $connection->beginTransaction();
try {
	$user_model=$connection->createCommand()
				->insert('tbl_user', [
						'name' => 'goyii.ir',
						'status' => 1,
					])
				->execute();
	$connection	->createCommand()
				->insert('tbl_user_roles', [
						'role = "admin",
						'user_id'=$user_model->id
						])
				->execute();
	//.....
    $transaction->commit();
} catch(Exception $e) {
    $transaction->rollback();
}

Check Also

سایت چند زبانه با فریم ورک yii

سایت چند زبانه با فریم ورک yii مطلب که در این بخش قصد آموزش داریم …

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *