人気のPHP WEBアプリケーションフレームワークLaravelのTipsを記録していきます

LaravelでDBのトランザクションを使用する

● LaravelでDBのトランザクションを使用する

・ A. クロージャ(無名関数)で LaravelでDBのトランザクションを記述する

// ========== トランザクション ==========
DB::transaction(function () use ($params) {

    // ...
    // ...
    // 何かしらの処理を記述

});
// ========== / トランザクション ==========

クロージャ(無名関数)が正常に実行されると、トランザクションは自動的にコミットされます


・ B. try / catch で LaravelでDBのトランザクションを記述する

// ===== トランザクション =====
try {
    DB::beginTransaction();

    // ...
    // ...
    // 何かしらの処理を記述

    DB::commit();
} catch (\Exception $e) {
    DB::rollBack();
}
// ===== /トランザクション =====

● LaravelでDBのトランザクション内で作成したデータを返す

// ========== トランザクション ==========
$data = DB::transaction(function () use ($params) {

    // DB 処理
    .......

    return $data;
});
// ========== / トランザクション ==========
No.1428
11/04 09:47

edit