CRUD Laravel 11 – Delete Data dari Database

CRUD Laravel 11 – Delete Data dari Database
CRUD Laravel 11 – Delete Data dari Database

CRUD Laravel 11 – Delete Data dari Database – Menghapus data dari database merupakan salah satu aspek penting dalam prinsip CRUD (Create, Read, Update, Delete). Dalam Laravel 11, penghapusan data dapat dilakukan dengan mudah menggunakan Eloquent ORM, yang memungkinkan kita untuk memanipulasi data secara efisien dan aman.

Artikel ini akan membahas bagaimana cara mengimplementasikan fungsi Delete untuk menghapus data dari database menggunakan Laravel 11. Kita akan melalui proses mulai dari membuat route, controller, hingga menambahkan konfirmasi untuk memastikan keamanan penghapusan data.

 

Delete Data dari Database

1. Membuat Button Delete Data

Pertama kita perlu membuat button delete untuk menghapus data berdasarkan id yang dipilih. Tombol delete menggunakan formulir (form) dengan metode POST karena HTTP DELETE tidak bisa digunakan langsung di tombol a. Pada form, ditambahkan @method('DELETE') untuk memberitahu Laravel bahwa ini adalah request DELETE.

<table class="table" border="1">
            <thead>
                <tr>
                    <th>ID</th>
                    <th>Judul</th>
                    <th>Konten</th>
                    <th>Tanggal Dibuat</th>
                    <th>Opsi</th>
                </tr>
            </thead>
            <tbody>
                @foreach ($posts as $post)
                    <tr>
                        <td>{{ $post->id }}</td>
                        <td>{{ $post->title }}</td>
                        <td>{{ $post->content }}</td>
                        <td>{{ $post->created_at }}</td>
                        <td>
                            <a href="/posts/{{ $post->id }}/" class="btn btn-success">Detail</a>
                            <a href="/posts/{{ $post->id }}/edit" class="btn btn-warning">Edit</a>
                            <!-- Form untuk tombol Delete -->
                            <form action="/posts/{{ $post->id }}" method="POST" style="display:inline;"
                                onsubmit="return confirm('Apakah Anda yakin ingin menghapus post ini?');">
                                @csrf
                                @method('DELETE')
                                <button type="submit" class="btn btn-danger">Delete</button>
                            </form>
                        </td>
                    </tr>
                @endforeach
            </tbody>
        </table>

2. Membuat Method Untuk Hapus Data

Selanjutnya kita perlu menambahkan metode di controller untuk menangani penghapusan data. Buka file PostController.php dan tambahkan metode destroy:

namespace App\Http\Controllers;

use App\Models\Post;
use Illuminate\Http\Request;

class PostController extends Controller
{
    // Menghapus data post
    public function destroy($id)
    {
        // Mengambil data post berdasarkan ID
        $post = Post::findOrFail($id);

        // Menghapus data dari database
        $post->delete();

        // Mengirim flash message dan redirect
        return redirect()->back()->with('success', 'Data berhasil dihapus.');
    }
}

Pada metode ini, kita menggunakan fungsi findOrFail() untuk mencari data yang ingin dihapus berdasarkan ID. Jika data ditemukan, kita memanggil metode delete() untuk menghapus data tersebut dari database. Setelah penghapusan, kita akan mengarahkan pengguna kembali ke halaman daftar data dan menampilkan pesan flash bahwa data berhasil dihapus.

3. Uji Coba Delete Data dari Database

Setelah semua dibuat, kita akan menguji coba apakah proses delete berhasil atau tidak.

Uji coba alert konfirmasi penghapusan - Inovasicode.com
Uji coba alert konfirmasi penghapusan
Data berhasil dihapus dari Database - Inovasicode.com
Data berhasil dihapus dari Database

 

Kesimpulan

Dengan mengikuti panduan di atas, Anda sudah berhasil mengimplementasikan fitur penghapusan data dari database menggunakan Laravel 11. Proses ini melibatkan pembuatan route, controller, dan view yang memungkinkan pengguna untuk dengan mudah menghapus data dari aplikasi.

Penghapusan data merupakan bagian dari prinsip CRUD yang sering kali diperlukan dalam manajemen aplikasi web. Sangat penting untuk memastikan bahwa penghapusan data dilakukan dengan hati-hati, dan Anda bisa menambahkan konfirmasi atau otorisasi untuk mencegah penghapusan data yang tidak disengaja.

 

Part Selanjutnya