Cara Membuat Pencarian di Laravel 8

Cara Membuat Pencarian di Laravel 8

Dipublikasikan 19 Januari 2021 6:00 AM

Tutorial search button di laravel 8? Bagaimana cara membuat fitur pencarian di laravel? Berikut adalah cara membuat search pencarian di laravel 8.

Jika Anda mengikuti seri tutorial laravel dari awal maka Anda akan mempunyai folder project bernama laravel-8-crud, jika belum Anda bisa mendownload full source code nya pada link di bawah.

Form pencarian adalah suatu hal yang penting untuk pengunjung, karena dapat memudahkan untuk mencari hal yang diinginkan dengan cepat, tanpa adanya fitur search kemungkinan besar pengunjung tidak akan lama untuk menelusuri semua yang ada di dalam website bersangkutan. Maka dari itu mari kita buat fitur pencarian dengan framework laravel.

Pada function index ubah menjadi kode berikut :

public function index(Request $request)
{
    $pagination  = 5;
    $articles    = Article::when($request->keyword, function ($query) use ($request) {
        $query
        ->where('title', 'like', "%{$request->keyword}%");
    })->orderBy('created_at', 'desc')->paginate($pagination);

    $articles->appends($request->only('keyword'));

    return view('articles.index', [
        'title'    => 'Articles',
        'articles' => $articles,
    ])->with('i', ($request->input('page', 1) - 1) * $pagination);
}

Pada variabel articles terdapat kondisi jika terdapat $request->keyword maka terdapat query dengan kondisi title sama dengan request keyword, sehingga data yang ditampilkan hanya data dengan kondisi tersebut.

Tambahkan kode berikut untuk menampikan tombol dan kotak pencarian di laravel :

<form action="{{ url()->current() }}"
  method="get">
  <div class="relative mx-auto">
    <input type="search"
      name="keyword"
      value="{{ request('keyword') }}"
      placeholder="Search ....."
      class="block w-full pl-4 pr-10 text-sm leading-5 transition rounded-full shadow-sm border-secondary-300 bg-secondary-50 focus:bg-white focus:border-blue-300 focus:ring focus:ring-blue-200 focus:ring-opacity-50">
    <button type="submit"
      class="absolute top-0 right-0 inline-flex items-center px-2 py-2 ml-1 mr-2 text-sm focus:outline-none">
      <svg class="w-5 h-5 text-gray-500 transition dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300 disabled:opacity-25"
        xmlns="http://www.w3.org/2000/svg"
        viewBox="0 0 20 20"
        fill="currentColor">
        <path fill-rule="evenodd"
          d="M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z"
          clip-rule="evenodd" />
      </svg>
    </button>
  </div>
</form>

Jika Anda mengikuti seri tutorial laravel pada website ini maka kode untuk index.php full source code nya sebagai berikut :

Sekarang silakan Anda coba mengetikkan kata kunci pada kotak pencarian dan enter, maka data yang ditampikan akan sesuai dengan keyword yang dimasukkan.

Form Search / Pencarian Laravel 8

Itulah artikel tentang cara membuat search pencarian di laravel 8 yang dapat saya sampaikan, semoga bermanfat.

susantokun avatar
susantokun
Hanya seorang programmer yang fokus di bidang web development. Tidak nyaman dengan keramaian dan suka akan keindahan.
Kebijakan Berkomentar :
1. Dilarang berkomentar yang mengandung SPAM, SARA, HOAX, PORNO.2. Mohon sertakan informasi detail saat terjadi error (pesan error, sreenshoot, code, logs, dsb.).