Pernahkan teman-teman mengalami kasus data child yang terkait pada suatu relasi tidak ikut terhapus saat data induknya dihapus ?.
Berikut ini beberapa solusi yang bisa teman-teman coba.
Dilihat sebanyak 4.830 kali
Artikel
Tutorial pemrograman
Tutorial Set
Modul terstruktur dan sistematis
eBooks
eBooks pemrograman Bahasa Indonesia
eBook Bundles
eBook Bundle pemrograman
Subscriptions
Akses semua artikel premium
Kelas Online
Belajar dengan konten video
Roadmaps
Belajar lebih terarah.
Blog
Update Informasi Teknologi Terbaru
Promo
Informasi promo untuk member
Testimonial
Ulasan dan rating dari members
Cek Sertifikat
Validasi sertifikat kelulusan
Showcase
Hasil project belajar members
Leaderboard
Ranking belajar members
Merchandise
Merchandise untuk para Geeks
Help Center
Pusat Bantuan untuk Member
Pernahkan teman-teman mengalami kasus data child yang terkait pada suatu relasi tidak ikut terhapus saat data induknya dihapus ?.
Berikut ini beberapa solusi yang bisa teman-teman coba.
Dilihat sebanyak 4.830 kali
Berikut ini adalah beberapa solusi yang mungkin bisa membantu kamu.
Untuk mengatasi problem tersebut, kita bisa melakukan konfigurasi migration dengan onDelete cascade pada bagian foreign key. Contohnya seperti berikut ini.
public function up()
{
Schema::create('posts', function (Blueprint $table) {
$table->id();
$table->foreignId('category_id')->references('id')->on('categories')->cascadeOnDelete();
$table->timestamps();
});
}
Terima Kasih
Jika teman-teman sudah terlanjur melewatkan pada migration untuk konfigurasi onDelete cascade, maka kita juga bisa melakukan delete child data di dalam controller. Berikut ini contohnya.
public function destroy($id)
{
//find category
$category = Category::find($id);
// delete all associated posts
$category->posts()->delete();
//...
}
Di atas, pastikan teman-teman memiliki nama method di dalam model untuk relasi many. Untuk contoh di atas nama method saya adalah posts.
Atau teman-teman juga bisa menggunakan kode seperti berikut ini.
public function destroy($id)
{
//find category
$category = Category::find($id);
// delete all associated posts
foreach($category->posts()->get() as $post) {
//delete post
$post->delete()
}
//...
}
Terima Kasih
Saat memberikan komentar silahkan memberikan informasi lengkap tentang error, seperti: screenshot, link kode, dll. Baca aturan komentar kami
{ setTimeout(() => { showShimmer = false; }, 300); })"
:class="{'opacity-0': !loaded, 'opacity-100': loaded}"
class="lazy w-full object-cover rounded-xl border border-white dark:border dark:border-neutral-700/80 transition-opacity duration-500"
loading="lazy"
width="1410"
height="2250"
/>
{ setTimeout(() => { showShimmer = false; }, 300); })"
:class="{'opacity-0': !loaded, 'opacity-100': loaded}"
class="lazy w-full object-cover rounded-xl border border-white dark:border dark:border-neutral-700/80 transition-opacity duration-500"
loading="lazy"
width="1410"
height="2250"
/>
{ setTimeout(() => { showShimmer = false; }, 300); })"
:class="{'opacity-0': !loaded, 'opacity-100': loaded}"
class="lazy w-full object-cover rounded-xl border border-white dark:border dark:border-neutral-700/80 transition-opacity duration-500"
loading="lazy"
width="1410"
height="2250"
/>
Memuat komentar...