Modul 6

Menyelesaikan CRUD: Update, Delete & Validasi

Kategori: laravelRilis: April 02, 2026Waktu Baca: 20 Menit
Menyelesaikan CRUD: Update, Delete & Validasi
Backend Engineering / Laravel

Penyelesaian CRUD: Update, Delete & Hasil Output

Code Refactoring

Modul 05

"Menyempurnakan Kontrol Data Anda"

April 05, 2026
40 Menit Eksekusi

Melanjutkan Modul 4, sekarang kita akan menuntaskan siklus CRUD dengan fitur Update (Mengubah data) dan Delete (Menghapus data). Di akhir modul ini, Anda akan melihat simulasi langsung bagaimana bentuk visual dari aplikasi yang sedang kita bangun!

Live Execution

LAB: Update & Delete Data

01 Mengatur Routing Update & Delete

Tambahkan rute berikut di file routes/web.php. Perhatikan bahwa Update menggunakan method PUT, dan Delete menggunakan method DELETE.

// Menampilkan form edit berdasarkan ID
    Route::get('/posts/{id}/edit', [PostController::class, 'edit'])->name('posts.edit');

    // Memproses update data (PUT)
    Route::put('/posts/{id}', [PostController::class, 'update'])->name('posts.update');

    // Memproses delete data (DELETE)
    Route::delete('/posts/{id}', [PostController::class, 'destroy'])->name('posts.destroy');

02 Menyiapkan Controller Update & Delete

Buka PostController.php dan tambahkan fungsi `edit`, `update`, dan `destroy`:

// 1. Mengambil data yang mau diedit, lalu melemparnya ke View Form Edit
    public function edit($id)
    {
        $post = Post::findOrFail($id);
        return view('posts.edit', compact('post'));
    }

    // 2. Memproses perubahan data ke Database
    public function update(Request $request, $id)
    {
        $post = Post::findOrFail($id);
        $post->update([
            'title'   => $request->title,
            'content' => $request->content
        ]);

        return redirect()->route('posts.index')->with('success', 'Data berhasil diubah!');
    }

    // 3. Menghapus data dari Database
    public function destroy($id)
    {
        $post = Post::findOrFail($id);
        $post->delete();

        return redirect()->route('posts.index')->with('success', 'Data berhasil dihapus!');
    }

03 Form Edit Blade & Method Spoofing

Buat file edit.blade.php. HTML form standar hanya mendukung GET dan POST. Di Laravel, kita gunakan Method Spoofing yaitu @method('PUT') agar form dikenali sebagai method PUT.

<form action="{{ route('posts.update', $post->id) }}" method="POST">
        @csrf
        @method('PUT') <!-- Mengubah POST menjadi PUT -->
        
        <input type="text" name="title" value="{{ $post->title }}">
        <textarea name="content">{{ $post->content }}</textarea>

        <button type="submit">Update Data</button>
    </form>
Hasil / Output

Penampakan Hasil Akhir Aplikasi

Jika Anda telah mengikuti dari Modul 4 sampai Modul 5 dan memberikan sedikit sentuhan CSS, hasil halaman index.blade.php Anda (Tabel Data) akan terlihat kurang lebih seperti ini:

Daftar Artikel (Post)

+ Tambah Data
Judul Aksi
Belajar MVC Laravel
Edit Hapus
Tips Eloquent ORM
Edit Hapus
Kader Note (Tombol Hapus):

Untuk memicu method DELETE, Anda tidak bisa menggunakan tag link biasa (<a>). Anda harus membungkus tombol hapus di dalam tag <form> dengan @method('DELETE') demi keamanan dan mematuhi aturan REST API.

MODUL SEBELUMNYAImplementasi CRUD: Create & Read Data
SELANJUTNYA TERKUNCIPondasi OOP PHP