コンテンツにスキップ

Top

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(); しないと「ロールバックされる」ので注意が必要。

デフォルトはコミットではないです。

以上!。