Mahmoud Al-HabashOpen to new projects
  • WorkWork
  • ServicesServices
  • LabLab
  • WritingWriting
  • ContactContact
Amman--:--عربي
Writing/Laravel

Laravel Database Transactions

Ensure data integrity with database transactions.

16 January 20261 min readLaravelاقرأ بالعربية

On this page

  1. Basic Transaction
  2. Manual Transaction
  3. Retry on Deadlock
  4. Nested Transactions

Database transactions:

Basic Transaction

php
DB::transaction(function () {
    User::create(['name' => 'John']);
    Order::create(['user_id' => 1]);
});

Manual Transaction

php
DB::beginTransaction();
try {
    User::create([...]);
    Order::create([...]);
    DB::commit();
} catch (Exception $e) {
    DB::rollBack();
    throw $e;
}

Retry on Deadlock

php
DB::transaction(function () {
    // ...
}, 5); // Retry 5 times

Nested Transactions

php
DB::transaction(function () {
    DB::transaction(function () {
        // Savepoint created
    });
});
All articles

Keep reading

  • Laravel Action Classes Pattern16 January 20261 min read
  • Laravel Action Classes: Single Responsibility16 January 20261 min read
  • Laravel API Rate Limiting16 January 20261 min read