Membuat searching sederhana di Laravel

tambahkan fitur pencarian ke proyek Laravel yang telah Anda buat sebelumnya. Dalam hal ini, kita akan menambahkan fungsi pencarian untuk mencari produk berdasarkan nama produk. Berikut adalah langkah-langkahnya:

Langkah 1: Menambahkan Fungsi Pencarian di ProductController

Tambahkan fungsi pencarian di dalam ProductController. Fungsi ini akan menerima input dari formulir pencarian dan mencari produk berdasarkan nama:

public function search(Request $request)
{
    $query = $request->input('query'); // Mendapatkan kata kunci pencarian dari input form

    $products = Product::where('name', 'like', '%'.$query.'%')->paginate(10); // Menampilkan 10 produk per halaman

    return view('products.index', compact('products'));
}

Langkah 2: Menambahkan Form Pencarian di products.index.blade.php

Di dalam file products.index.blade.php, tambahkan form pencarian di atas daftar produk:

    <form action="{{ route('products.search') }}" method="GET">
        <div class="input-group mb-3">
            <input type="text" class="form-control" placeholder="Cari produk..." name="query" value="{{ request('query') }}">
            <div class="input-group-append">
                <button class="btn btn-outline-secondary" type="submit">Cari</button>
                <a href="{{ route('products.index') }}" class="btn btn-outline-secondary">Clear</a>
            </div>
        </div>
    </form>

Langkah 3: Menambahkan Rute untuk Pencarian di web.php

Tambahkan rute baru di dalam file web.php untuk menangani pencarian:

use App\Http\Controllers\ProductController;

Route::get('/products/search', [ProductController::class, 'search'])->name('products.search');

Dengan langkah-langkah ini, pengguna sekarang dapat mencari produk berdasarkan nama menggunakan formulir pencarian. Hasil pencarian akan ditampilkan di halaman indeks produk dengan pagination. Pastikan untuk menyesuaikan tampilan dan fungsionalitas pencarian sesuai dengan kebutuhan proyek Anda.

Last updated