Mengenal Soft Deletes Laravel 11 dan Tutorial Penggunaan Pada Projek Website

Dalam dunia web development, menyimpan data customer dengan baik merupakan hal yang sangat penting. Bayangkan jika Anda memiliki sebuah toko mobil mewah online. Setiap kali ada customer yang membeli mobil, data mereka harus disimpan dengan aman agar kepercayaan mereka terhadap toko Anda tetap terjaga. Sebuah website yang tidak menjaga data customernya dengan baik bisa kehilangan kepercayaan dari pelanggan dan akhirnya merugikan bisnis tersebut.

Laravel, sebagai salah satu framework PHP paling populer, menawarkan berbagai fitur canggih yang memudahkan developer untuk membuat aplikasi web yang aman dan cepat. Salah satu fitur tersebut adalah Soft Deletes. Dalam artikel ini, kita akan membahas apa itu Soft Deletes, bagaimana menggunakannya dalam proyek Laravel 11, dan mengapa fitur ini penting untuk digunakan.

Laravel dan FilamentPHP: Membuat CRUD dengan Cepat dan Aman

Laravel dikenal sebagai framework yang sangat kuat dan fleksibel. Salah satu keunggulannya adalah kemudahan dalam membuat fitur CRUD (Create, Read, Update, Delete). Fitur CRUD adalah dasar dari hampir setiap aplikasi web karena memungkinkan pengelolaan data dengan cara yang mudah dan efisien.

Dengan kombinasi Laravel dan FilamentPHP, developer bisa dengan cepat membuat aplikasi yang tidak hanya berfungsi dengan baik, tetapi juga aman. FilamentPHP adalah tool yang mempermudah pembuatan backend CRUD di Laravel. Dengan FilamentPHP, Anda bisa membangun fitur-fitur CRUD yang canggih tanpa harus menulis banyak kode dari awal.

Apa Itu Soft Delete pada Laravel dan Mengapa Penting?

Soft Delete adalah fitur di Laravel yang memungkinkan Anda untuk menandai data sebagai 'dihapus' tanpa benar-benar menghapusnya dari database. Ini sangat berguna ketika Anda ingin memberikan opsi kepada user untuk memulihkan data yang terhapus atau hanya ingin menjaga rekam jejak data tanpa benar-benar kehilangan informasi.

Sebagai analogi, bayangkan Anda memiliki sebuah lemari arsip di kantor. Alih-alih membuang dokumen yang sudah tidak terpakai, Anda hanya memindahkannya ke rak arsip "Dihapus". Dengan begitu, dokumen tersebut tidak lagi terlihat dalam rak utama, tetapi masih dapat diakses jika suatu saat dibutuhkan.

Mengapa fitur ini penting? Karena dalam beberapa kasus, menghapus data secara permanen bisa menjadi kesalahan yang fatal, terutama jika data tersebut masih dibutuhkan di masa mendatang. Dengan Soft Delete, Anda dapat menghindari risiko kehilangan data penting.

Tutorial Penggunaan Soft Delete pada Proyek Toko Mobil Mewah

Sekarang, mari kita lihat bagaimana cara menggunakan Soft Delete dalam sebuah proyek Laravel 11, misalnya pada toko mobil mewah online.

Mengaktifkan Soft Delete pada Model

Pertama, tambahkan trait SoftDeletes pada model yang ingin Anda gunakan. Misalnya, kita memiliki model Car yang mewakili mobil-mobil mewah yang dijual di toko online kita.

namespace App\\\\Models;

use Illuminate\\\\Database\\\\Eloquent\\\\Model;
use Illuminate\\\\Database\\\\Eloquent\\\\SoftDeletes;

class Car extends Model
{
    use SoftDeletes;

    protected $dates = ['deleted_at'];
}

  • Trait SoftDeletes memungkinkan Laravel untuk menandai data yang dihapus dengan timestamp deleted_at.

Menjalankan Migrasi

  • Anda perlu menambahkan kolom deleted_at pada tabel cars di database. Anda bisa melakukannya dengan menambahkan kolom ini pada file migrasi.
Schema::table('cars', function (Blueprint $table) {
    $table->softDeletes();
});

  • Kemudian, jalankan migrasi untuk menerapkan perubahan pada database.
php artisan migrate

Menghapus Data dengan Soft Delete

  • Untuk menghapus data menggunakan Soft Delete, Anda hanya perlu menggunakan metode delete seperti biasa.
$car = Car::find(1);
$car->delete();

  • Data ini tidak akan benar-benar dihapus dari database, tetapi hanya akan ditandai dengan deleted_at.

Menampilkan Data yang Terhapus

  • Jika Anda ingin menampilkan data yang sudah dihapus, Anda bisa menggunakan metode withTrashed.
$cars = Car::withTrashed()->get();

  • Ini akan menampilkan semua data, baik yang sudah dihapus maupun yang belum.

Mengembalikan Data yang Terhapus

  • Untuk mengembalikan data yang telah dihapus, Anda bisa menggunakan metode restore.
$car = Car::withTrashed()->find(1);
$car->restore();

  • Data yang dihapus akan dikembalikan dan deleted_at akan dihapus.

Ilmu Penting Laravel Lainnya yang Perlu Dipelajari Programmer Pemula

Setelah memahami Soft Delete, ada beberapa ilmu penting lainnya dalam Laravel yang sangat berguna untuk dipelajari, terutama bagi programmer pemula:

  • Eloquent ORM: Memahami bagaimana Laravel menangani hubungan antar tabel dengan Eloquent ORM akan sangat membantu dalam mengelola data dengan efisien.
  • Middleware: Belajar bagaimana menggunakan middleware untuk mengontrol akses dan manipulasi request di aplikasi Laravel.
  • Event & Listener: Memahami cara kerja event dan listener akan membantu dalam membuat aplikasi yang lebih responsif dan modular.
  • API Resource: Dengan API Resource, Anda dapat membuat API yang lebih terstruktur dan mudah untuk di-maintain.

Belajar dari Mentor Buildwithangga

Jika Anda ingin mendalami ilmu Laravel lebih jauh, belajar dari mentor di Buildwithangga bisa menjadi pilihan yang tepat. Dengan bergabung, Anda mendapatkan berbagai benefit, seperti:

  • Akses Seumur Hidup: Belajar tanpa batas waktu, sehingga Anda bisa terus mengasah keterampilan kapan saja.
  • Bonus Konsultasi dengan Mentor: Mendapatkan panduan langsung dari para ahli di bidangnya.
  • Grup Diskusi Antar Student: Berbagi pengalaman dan belajar bersama komunitas.
  • Persiapan Kerja Lebih Matang: Mendapatkan insight tentang dunia kerja dan bagaimana mempersiapkan diri sebagai developer yang profesional.

Dengan memanfaatkan semua fitur dan pembelajaran ini, Anda bisa menjadi developer yang lebih kompeten dan siap menghadapi tantangan dalam dunia web development.