معاملات قاعدة البيانات:
معاملة أساسية
DB::transaction(function () {
User::create(['name' => 'أحمد']);
Order::create(['user_id' => 1]);
});معاملة يدوية
DB::beginTransaction();
try {
User::create([...]);
Order::create([...]);
DB::commit();
} catch (Exception $e) {
DB::rollBack();
throw $e;
}إعادة المحاولة عند التوقف
DB::transaction(function () {
// ...
}, 5); // إعادة المحاولة 5 مراتالمعاملات المتداخلة
DB::transaction(function () {
DB::transaction(function () {
// نقطة حفظ تم إنشاؤها
});
});