Deleting Data
Delete Related Table Menggunakan Laravel Model Event
1. Buka file app/Models/BlogPost.php dan tambahkan code dibawah ini. Line 21 - 32.
Delete Related Table Menggunakan Database Cascading
1. Cara lain untuk meng-handle masalah tersebut adalah dengan menggunakan cascade pada database level.
2. Buat migration baru php artisan make:migration AddCascadeDeleteToCommentsTable
3. Buka file database/migrations/xxxx_xx_xx_xxxxxx_add_cascade_delete_to_comments_tabl e.php dan ubah menjadi menjadi seperti ini. Line 9 - 38.
4. Jalan migration php artisan migrate
5. Buka file app/Models/BlogPost.php dan tambahkan code dibawah ini. Line 29 - 31.
1. Buat migration baru php artisan make:migration AddSoftDeleteToBlogPostsTable
2. Buka file database/migrations/xxxx_xx_xx_xxxxxx_add_soft_delete_to_blog_posts_table.p hp dan ubah menjadi menjadi seperti ini. Line 17 dan 29
3. Jalan migration php artisan migrate
4. Buka file app/Models/BlogPost.php dan tambahkan code dibawah ini. Line 7 - dan 11.
Query Soft Deleted Rows
1. Silahkan masuk ke tinker php artisan tinker
2. menggunakan method all()
$posts = BlogPost::all();
3. menggunakan method pluck().
$posts = BlogPost::all()->pluck('id');
4. menggunakan method withTrashed(). $posts = BlogPost::withTrashed()->pluck('id');
5. menggunakan method onlyTrashed(). $posts = BlogPost::onlyTrashed()->pluck('id');
Restore Soft Deleted Rows
1. Masuk ke tinker
2. Cari salah satu BlogPost yang sudah di delete, kemudian di restore.
a. Cari BlogPost → $post = BlogPost::onlyTrashed()->get()->first();
b. Cek apakah trashed: → $post->trashed(); → harusnya true
c. Restore BlogPost → $post->restore();
d. Cek apakah trashed: → $post->trashed(); → harusnya false
Soft Deleted dan Restoring Relation Model
1.Buat migration baru php artisan make:migration AddSoftDeleteToCommentsTable
2. Buka file database/migrations/xxxx_xx_xx_xxxxxx_add_soft_delete_to_comments_table.ph p dan ubah menjadi menjadi seperti ini. Line 17 dan 29.
3. Jalan migration php artisan migrate
4. Buka file app/Models/Comment.php dan tambahkan code dibawah ini. Line 7 - dan 11
Comments
Post a Comment