この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:3
ページ更新者:T
更新日時:2019-04-08 11:25:34

タイトル: 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();

}