Muhammad Amirul Ihsan
Muhammad Amirul Ihsan Fullstack Developer, Content Creator, suka berbagi pengalaman / pengetahuan lewat tulisan maupun video di kawankoding.com

Pencarian Data Contact

Sabtu, 20 Mei 2023
Pencarian Data Contact

Setelah semua fitur CRUD terbuat, ada satu fitur yang biasanya juga ada pada umunya, yaitu fitur pencarian data, yang sangat berguna ketika data sudah banyak dan ingin melakukan perubahan atau menghapus sebuah data.

Untuk fitur pencarian ini tampilannya akan kita buat sejajar dengan tombol Create Contact, sesuaikan menjadi seperti ini.

<div class="flex justify-between items-center">
    <form action="" method="get">
        <input type="text" name="search" class="border border-gray-300 shadow  rounded p-3" placeholder="Cari data..." value="{{ request('search') }}">
    </form>
    <a href="{{ route('contacts.create') }}"
       class="px-4 py-3 bg-indigo-500 rounded hover:bg-indigo-700 my-2 ring-indigo-300 border border-indigo-200 text-white">Create
        Contact</a>
</div>

Tampilannya kurang lebih seperti ini ya kawan.

tampilan-search

Untuk fungsi pencariannya kita buat pada ContactController method index() ubah menjadi seperti ini.

public function index(Request $request)
{
    $contact = Contact::query(); // mendefinisikan variabel $contact

    if ($request->filled('search')) { // jika inputan search ada isinya maka akan dieksekusi
        $contact->where('name', 'like', '%' . $request->search . '%'); // query pencarian data sesuai nama
    }

    return view('contacts.index', [
        'contacts' => $contact->latest()->get(),
    ]);
}

Sekarang coba lakukan pencarian, isi kolom pencarian dan tekan Enter dan seharusnya data yang muncul sesuai dengan kata kunci yang sudah dimasukkan, contoh.

hasil-pencarian

Yess, berhasil sudah kita implementasikan fitur pencariannya, berikutnya kita akan perbaiki beberapa hal yang berhubungan dengan User Experience (UX).