Laravel Transactions

Makale İçerik Listesi

Transaction example

<?php

DB::beginTransaction();
try {
    DB::insert(...);
    DB::insert(...);
    DB::insert(...);

    DB::commit(); //bunu yapmazsan db ye insert işlemerini geçirmiyor
    // all good
} catch (\Exception $e) {
    DB::rollback(); //bir Exception  olduğunda Exception  a kadar olan işlemleri yapmaz böyle dediğimizde 
    // something went wrong
}

// or a complex version:

$user = DB::transaction(function() use ($updateData, $teamIds) {
    // Burada bir hata meydana gelirse exception fırlatacak
    $user->update($updateData);

    // Burada bir hata meydana gelirse üstteki update işlemi
    // geri alınacak ve exception fırlatacak.
    $user->teams
        ->sync($teamIds);

    return $user;
});

UserUpdated::dispatch($user);

Kaynakça

  1. Sinan Eldem gist - link
  2. Laravel Docs, Database Transactions - link