4.

【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();

}

 

編集
Post Share
子ページ

子ページはありません

同階層のページ
  1. config/database.phpファイル
  2. .env
  3. 複数のデータベースに接続する方法
  4. DBトランザクション
  5. DBの悲観ロック