タイトル: DBトランザクション
SEOタイトル: 【Laravel】DBトランザクション
トランザクションの記述
以下のファンクション内にトランザクション処理を記載する。
DB::transaction(function () { DB::table('users')->update(['votes' => 1]); DB::table('posts')->delete(); }); |
ファンクション内で外部のパラメータを利用したい場合は以下のように記述する。
DB::transaction(function () use ($params) { DB::table('users')->update(['flag' => $params->flag]); }); |
手動トランザクション
トランザクションの開始とコミット、ロールバックを任意の場所に記載する方法
DB::beginTransaction(); try { DB::table('users')->update(['votes' => 1]); DB::table('posts')->delete(); DB::commit(); } catch (\PDOException $e){ DB::rollBack(); } |