Tutorial DB Transaction Untuk Mencegah Inkonsistensi Data

Share:

Tutorial DB Transaction Untuk Mencegah Inkonsistensi Data

Transaksi database atau DB Transaction yaitu memungkinkan Anda untuk menjalankan beberapa operasi database sebagai satu unit atomik. Jika salah satu operasi gagal, semua perubahan dapat dibatalkan (rollback). Berikut adalah panduan langkah demi langkah tentang cara menggunakan transaksi database di Laravel.

Hal ini sering terjadi saat koneksi internet bermasalah, server mati dan hal-hal teknis lainnya. Pada tutorial kali ini kita akan menggunakan DB Transaction untuk mencegah kemungkinan tersebut.


Tutorial DB Transaction Untuk Mencegah Inkonsistensi Data

Silahkan buka controller yang ingin anda modifikasi atau perhatikan penggunaan cepatnya melalui script di bawah ini.



namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; use App\Models\User; class UserController extends Controller { public function store(Request $request) { try { // Mulai transaksi DB::beginTransaction(); // Simpan data ke database User::create($request->all()); // Commit transaksi DB::commit(); return redirect()->back()->with('success', 'User created successfully!'); } catch (\Exception $e) { // Rollback transaksi jika terjadi kesalahan DB::rollBack(); return redirect()->back()->withErrors(['error' => 'Failed to create user: ' . $e->getMessage()]); } } }

Laravel menyediakan metode DB::transaction yang bisa digunakan untuk membungkus query database Anda dalam sebuah transaksi. Gunakan catch untuk me-rollback data yang sudah tersimpan dan memberikan pesan error untuk ditampilkan.


Sekian tutorial kali ini tentang cara penggunaan DB Transaction. Semoga tutorial singkat, padat dan cepat kali ini bermanfaat. Jika ada yang perlu ditanyakan, silahkan tanya langsung di kolom komentar di bawah ini. Sekian dan terima kasih.



No comments

Jangan lupa kasih komentar ya!. Karena komentar kalian membantu kami menyediakan informasi yang lebih baik

Tidak boleh menyertakan link atau promosi produk saat berkomentar. Komentar tidak akan ditampilkan. Hubungi 081271449921(WA) untuk dapat menyertakan link dan promosi