Pendahuluan Bayangin lagi ngerjain fitur sederhana, tapi tiba-tiba client atau bos minta data yang udah dihapus balik lagi gara-gara kepencet. Kebanyakan dari kita pasti panik kalau database cuma punya perintah DELETE , karena data itu hilang permanen. Untungnya, Laravel punya fitur Soft Deletes yang bikin kita bisa 'nyembunyiin' data tanpa harus benar-benar menghapusnya dari disk. Tips & Best Practices Di banyak project, biasanya saya mulai dengan memastikan kolom deleted_at sudah ada di tabel migrasi. Jangan pernah lupa pakai $table->softDeletes() saat bikin tabel, biar kita nggak perlu nambahin kolom manual yang malah rawan typo. Sering banget saya lihat orang buru-buru, padahal penting banget untuk selalu ngecek relasi antar tabel sebelum melakukan soft delete. Kalau kita hapus parent tapi child-nya masih nempel, nanti bakal muncul error Integrity Constraint Violation yang bikin aplikasi crash di production. Pas lagi bikin dashboard admin, saya lebih suka misahin...
Pendahuluan Bayangin lagi ngerjain fitur sederhana, tapi pas dicek di Laravel Debugbar, jumlah query-nya malah meledak jadi ratusan padahal datanya cuma dikit. Ini masalah klasik yang sering bikin performa aplikasi drop di tahap production, yaitu isu N+1. Biasanya, ini kejadian karena kita terlalu nyaman manggil relasi di dalam loop tanpa sadar kalau Laravel lagi 'kerja keras' nge-query database berkali-kali buat setiap item yang kita akses. Tips & Best Practices Di banyak project, biasanya saya mulai dengan biasakan diri buat nge-cek log query sebelum fitur naik ke staging biar nggak ada kejutan performa. Selain itu, saya selalu pasang constraint ketat di model supaya nggak narik kolom yang nggak perlu, karena kadang kita cuma butuh ID atau nama aja. Terakhir, saya sering pakai metode with() dari awal pas lagi nulis controller, jadi habit ini ngebantu banget biar nggak lupa pas datanya udah mulai skala besar. Contoh Kode Kalau biasanya kamu nulis kayak gini pas mau nampil...