1. 程式人生 > >Laravel 資料庫事務

Laravel 資料庫事務

1.自動使用事務

想要在一個數據庫事務中執行一連串操作,可以使用DB門面的transaction方法,

如果事務閉包中丟擲異常,事務將會自動回滾。

如果閉包執行成功,事務將會自動提交。

使用transaction方法時不需要擔心手動回滾或提交:

DB::transaction(function () {
    DB::table('users')->update(['votes' => 1]);
    DB::table('posts')->delete();
});

2.手動使用事務

如果你想要手動開始事務從而對回滾和提交有一個完整的控制,可以使用DB門面的beginTransaction

方法:

DB::beginTransaction();

你可以通過rollBack方法回滾事務:

DB::rollBack();

最後,你可以通過commit方法提交事務:

DB::commit();