Tutorial Laravel : Part 3, Update dan Delete Artikel

 Langkah 9: Update dan Delete Artikel

Selanjutnya, kita akan melengkapi fitur CRUD dengan mengimplementasikan update dan delete artikel.

Update Artikel:

Tambahkan fungsi di controller untuk menampilkan form edit artikel dan menyimpan perubahan artikel ke database.

// app/Http/Controllers/ArticleController.php


use App\Models\Article;

use Illuminate\Http\Request;


class ArticleController extends Controller

{

    // ...


    public function edit(Article $article)

    {

        return view('articles.edit', compact('article'));

    }


    public function update(Request $request, Article $article)

    {

        $request->validate([

            'title' => 'required',

            'content' => 'required',

        ]);


        $article->update([

            'title' => $request->input('title'),

            'content' => $request->input('content'),

        ]);


        return redirect()->route('articles.index')->with('success', 'Article updated successfully');

    }

}


Buatlah view untuk form edit artikel:

<!-- resources/views/articles/edit.blade.php -->


<!DOCTYPE html>

<html>

<head>

    <title>Edit Article</title>

</head>

<body>

    <h1>Edit Article</h1>

    <form action="{{ route('articles.update', $article) }}" method="POST">

        @csrf

        @method('PUT')

        <label for="title">Title:</label>

        <input type="text" id="title" name="title" value="{{ $article->title }}" required>


        <label for="content">Content:</label>

        <textarea id="content" name="content" rows="4" required>{{ $article->content }}</textarea>


        <button type="submit">Save Changes</button>

    </form>

</body>

</html>


Delete Artikel:

Tambahkan fungsi di controller untuk menghapus artikel dari database.

// app/Http/Controllers/ArticleController.php


use App\Models\Article;

use Illuminate\Http\Request;


class ArticleController extends Controller

{

    // ...


    public function destroy(Article $article)

    {

        $article->delete();

        return redirect()->route('articles.index')->with('success', 'Article deleted successfully');

    }

}


Langkah 10: Menghubungkan Routing dengan Controller (Lanjutan)

Selanjutnya, kita akan menghubungkan routing untuk update dan delete artikel dengan controller yang sudah dibuat sebelumnya.

// routes/web.php


use App\Http\Controllers\ArticleController;


Route::get('/articles', [ArticleController::class, 'index'])->name('articles.index');

Route::get('/articles/create', [ArticleController::class, 'create'])->name('articles.create');

Route::post('/articles', [ArticleController::class, 'store'])->name('articles.store');

Route::get('/articles/{article}', [ArticleController::class, 'show'])->name('articles.show');

Route::get('/articles/{article}/edit', [ArticleController::class, 'edit'])->name('articles.edit');

Route::put('/articles/{article}', [ArticleController::class, 'update'])->name('articles.update');

Route::delete('/articles/{article}', [ArticleController::class, 'destroy'])->name('articles.destroy');


Kesimpulan:

Dalam tutorial ini, Anda telah melengkapi fitur CRUD untuk artikel dalam aplikasi web Laravel. Anda telah mempelajari cara mengimplementasikan update dan delete artikel, sehingga Anda dapat dengan mudah mengelola data dalam database. Selain itu, Anda juga telah memahami konsep routing, controller, model, dan view dalam Laravel. Framework ini menyediakan banyak fitur yang kuat untuk mempercepat dan menyederhanakan pengembangan aplikasi web. Teruslah eksplorasi dan tingkatkan kemampuan Anda dalam menggunakan Laravel untuk mengembangkan aplikasi web yang lebih kompleks dan efisien. Selamat mencoba dan semoga tutorial ini membantu Anda dalam perjalanan pengembangan web dengan Laravel!

Lebih baru Lebih lama