Laravel の Database 操作で トランザクション管理をしたい
DB操作をしていると、失敗時などにロールバック処理したくなることがあると思うがLaravelだとやり方は簡単。
以下の3つを使うだけ。
DB::beginTransaction();
DB::commit();
DB::rollback();
ただし、
use DB;
使い方は簡単で、まず、
DB::beginTransaction();
を書く。
で、その下で、SQL文を発行。
そのあとの処理でOKなら、 DB::commit(); を、NG でさっき実行したSQL文をロールバックしたいなら、 DB::rollback(); すればいい。
簡単。
ちなみに、 DB::beginTransaction(); を書いたのに、 DB::commit(); しないと「ロールバックされる」ので注意が必要。
デフォルトはコミットではないです。
以上!。