میثم زندی
میثم زندی
خواندن ۱ دقیقه·۴ سال پیش

لاراول تریک | Transaction ها و شیوه استفاده

تراکنش ها یا Transactions عملیاتی است که به شما اجازه می ده تا از صحت انجام یک فرآیند مطمئن و از درج ناقص اطلاعات جلوگیری کنید. به عنوان مثال وقتی قصد انجام یک سری عملیات حساس روی دیتابیس دارید و باید مطمئن باشید که فرآیند تغییرات در SQL یا دیتابیس شما به درستی انجام شده .

مثال ساد تر، وقتی که میخواهید یکسری دیتا را که به هم وابسته نیز هستند رو در تیبل های مختلف وارد کنید و باید مطمئن بشید که یا همه دیتا ها با موفقیت ثبت میشه و یا هیچکدام ثبت نمیشه (Atomic) .

لاراول Transactions

برای اجرای این قابلیت در لاراول، ۲ روش خودکار و دستی وجود داره.

روش اول: عملیات Commit و Rollback رو خودکار انجام میشه:

use Illuminate\Support\Facades\DB; DB::transaction( function () { // example DB::update('update users set votes = 1'); DB::delete('delete from posts'); });

روش دوم: عملیات Commit و Rollback بصورت دستی انجام میشه:

try { DB::beginTransaction(); DB::update('update users set votes = 1'); DB::commit(); } catch(Exception $e) { DB::rollBack(); }


phplaravelلاراول
Software Engineer | Technical Lead | Engineering Manager
شاید از این پست‌ها خوشتان بیاید