Rumahweb Journal
banner - belajar laravel bagian 12

Belajar Laravel Bagian 12 – Cara Membuat Fitur Pencarian

Pada seri belajar Laravel bagian 11, kita telah belajar bagaimana cara membuat Pagination di Laravel. Dalam belajar laravel bagian 12 ini, kita akan belajar cara membuat fitur pencarian di Laravel, untuk memudahkan pengunjung website anda menemukan informasi yang mereka cari secara lebih cepat.

Dalam tutorial ini, kita akan belajar cara membuat fitur pencarian di Laravel dengan menggabungkan query builder, model Eloquent, dan formulir HTML untuk membuat fitur pencarian yang dinamis dan mudah diterapkan.

Tutorial ini kami buat untuk pemula maupun developer yang ingin menambahkan fungsi pencarian ke aplikasi Laravel secara mudah. Yuk, langsung mulai langkah-langkahnya!

Membuat Fitur Pencarian di Laravel

Berikut langkah-langkah membuat fitur pencarian di Laravel yang dapat Anda ikuti.

Step 1. Membuat Model dan Migration

Langkah pertama, buat model dan migration untuk entitas yang akan digunakan dalam fitur pencarian. Misalnya di sini kita akan membuat model dengan entitas Berita. Jalankan perintah berikut di ssh atau terminal:

php artisan make:model Berita -m

Setelah perintah tersebut dijalankan, file migration akan otomatis dibuat di folder database/migrations/ dengan nama seperti tanggal_pembuatan_create_beritas_table.php.

Pindah Hosting ke Rumahweb Gratis

Selanjutnya, buka file tersebut dan tambahkan kolom yang diperlukan. Sebagai contoh:

buat model dan migration

Selanjutnya, tambahkan mass assignment di dalam model yang terletak pada file app/Models/Berita.php menggunakan properti protected $fillable untuk field yang telah dibuat pada migration sebelumnya.

menggunakan properti protected $fillable

Setelah selesai mengisi kebutuhan migration dan juga model, kemudian kita jalankan perintah php artisan migrate untuk memasukan data kita ke database.

php artisan migrate

Step 2. Membuat Factory untuk data faker kita

Factory dan Faker adalah dua fitur di Laravel yang sangat berguna untuk membuat data dummy dengan cepat dan efisien. Biasanya, fitur ini digunakan dalam beberapa kasus seperti membuat aplikasi baru dan membutuhkan data pengguna atau produk untuk keperluan pengujian. Untuk membuat factory kita dapat menjalankan perintah berikut:

php artisan make:factory PostFactory --model=Berita

Selanjutnya, buka file yang berada pada folder database/factories/PostFactory.php, lalu definisikan struktur data yang sudah dibuat dengan faker. Berikut adalah contoh struktur data yang sudah dibuat sebelumnya.

struktur data faker

Step 3. Mengisi database dengan menggunakan data Faker

Untuk mengisi data faker ke dalam database, kita perlu membuat dahulu seeder datanya dengan menjalankan perintah berikut:

php artisan make:seeder PostSeeder

Setelah menjalankan perintah tersebut, silahkan dapat membuka filenya di path database/seeders/PostSeeder.php dan isikan seperti berikut.

seeder PostSeeder

Setelah menambahkan isi pada seeder, langkah selanjutnya kita dapat menjalankan perintah berikut untuk mengirimkan data faker ke database:

php artisan db:seed --class=PostSeeder

Jika data berhasil dikirimkan, maka ada muncul seperti berikut:

seeding database

Step 4. Membuat controller untuk menampilkan data berita

Selanjutnya, kita akan membuat controller untuk mengambil data dan menampilkannya disertai dengan fitur pencarian. Silahkan dapat menjalankan perintah berikut:

php artisan make:controller PostController

Setelah menjalankan perintah tersebut kita dapat melihat filenya pada app/Http/Controller/PostController. Di dalam controller ini, kita akan mengambil data semua yang ada pada tabel berita dan dilengkapi dengan fitur pencarian yang akan mencari berdasarkan judul dan juga isi.

Membuat controller untuk menampilkan data berita

Step 5. Membuat Route untuk menampilkan data tersebut

Kita dapat menentukan route ketika kita mengakses data contoh seperti kita ingin diakses di /berita. Dengan mengisikan script seperti berikut di dalam path /routes/web.php.

Membuat Route untuk menampilkan data tersebut

Step 6. Membuat View untuk menampilkan data berita dan fitur pencarian

Silahkan dapat membuat file di resource/view dengan menambahkan folder berita kemudian menambahkan file index.blade.php dan isikan code seperti berikut : 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Contoh Pagination Berita</title>
    <style>
        table {
            width: 100%;
            border-collapse: collapse;
        }

        table, th, td {
            border: 1px solid black;
        }

        th, td {
            padding: 8px;
            text-align: left;
        }

        th {
            background-color: #f2f2f2;
        }

        .pagination {
            margin-top: 10px;
        }
    </style>
</head>
<body>
    <h1>Berita</h1>

    <!-- Tabel Berita -->

    <form action="{{ route('beritas.index') }}" method="GET" class= 'mb-5'>
        <input type="text" name="search" value="{{ $search ?? '' }}" placeholder="Cari berita...">
        <button type="submit">Cari</button>
    </form>

        
    <table>
        <thead>
            <tr>
                <th>Judul</th>
                <th>Isi</th>
                <th>Tanggal Berita</th>
            </tr>
        </thead>
        <tbody>
            @foreach($beritas as $berita)
                <tr>
                    <td>{{ $berita->judul }}</td>
                    <td>{{ $berita->isi }}</td>
                    <td>{{ $berita->tanggal_berita }}</td>
                </tr>
            @endforeach
        </tbody>
    </table>

    <!-- Pagination Links -->
    <div>
        {{ $beritas->withQueryString()->links() }}
    </div>

</body>
</html>

Pengujian

Setelah semua step kita buat, langkah terakhir dalam sesi belajar laravel ini adalah melakukan pengujian. Untuk menjalankan websitenya, gunakan perintah: php artisan serve dan jika benar maka hasilnya akan sebagai berikut:

contoh hasil fitur penelusuran - belajar laravel bagian 12

Penutup

Fitur pencarian pada website berfungsi untuk memudahkan pengguna dalam menemukan data tertentu dari sekumpulan data yang tersedia, seperti berita dalam aplikasi Laravel ini.

Dengan adanya fitur pencarian, pengunjung website Anda dapat menghemat waktu penelusuran, serta lebih fleksible dalam menyaring data atau informasi di project laravel Anda.

Demikian tutorial belajar laravel bagian ke 12 ini tentang bagaimana cara membuat fitur pencarian di laravel, semoga bermanfaat.

Bermanfaatkah Artikel Ini?

Klik bintang 5 untuk rating!

Rating rata-rata 0 / 5. Vote count: 0

Belum ada vote hingga saat ini!

Kami mohon maaf artikel ini kurang berguna untuk Anda!

Mari kita perbaiki artikel ini!

Beri tahu kami bagaimana kami dapat meningkatkan artikel ini?

Cloud Hosting Terbaik Rumahweb

Arief Hidayatullah

Arief Hidayatullah adalah seorang Technical Support di Rumahweb Indonesia yang memiliki minat dan keahlian dalam pengembangan web. Dengan pengalaman dan pengetahuannya di bidang teknologi, Arief memiliki ketertarikan khusus dalam pengembangan web menggunakan Laravel, sebuah framework PHP yang populer. Dengan semangat belajar dan eksplorasi teknologi, Arief terus mengembangkan keterampilannya untuk menciptakan solusi web yang efisien dan inovatif.

banner pop up - Pindah Hosting ke Rumahweb