Our blog

Lebih efektif menangani data dengan jumlah yang besar menggunakan simplePaginate pada Laravel

 

Latest Blog's

Lebih efektif menangani data dengan jumlah yang besar menggunakan simplePaginate pada Laravel

Laravel     3 weeks ago


Pagination Laravel adalah hal yang cukup sederhana untuk digunakan, namun untuk menentukan jumlah halaman itu, kueri tambahan ke database, yang mungkin menjadi masalah bagi sejumlah besar data. Berikut cara sedehana untuk melakukannya.

Mari ambil contoh pagination sederhana dari sebuah tabel dengan 5000 pelanggan:

$pelanggans = Pelanggan::paginate(10);

Lalu pada Blade kita tulis seperti ini:

<table class="table">
    <thead>
    <tr>
        <th>Nama depan</th>
        <th>Nama belakang</th>
        <th>Email</th>
    </tr>
    </thead>
    <tbody>
    @foreach ($pelanggans as $pelanggan)
        <tr>
            <td>{{ $pelanggan->nama_depan }}</td>
            <td>{{ $pelanggan->nama_belakang }}</td>
            <td>{{ $pelanggan->email }}</td>
        </tr>
    @endforeach
    </tbody>
</table>
 
{{ $pelanggans->links() }}

Script diatas kalau kamu cek di Laravel Debugger akan terlihat permintaan untuk menghitung jumlah entry / halaman. Dengan kata lain ada 2 proses yang harus dilewati, yakni request semua halaman lalu menghitung tiap halaman.

Kita bisa menggilangkan proses hitung /halaman dengan dan menampilkan menu Previous dan Next. Ubah Controller menjadi:

$pelanggans = Pelanggan::simplePaginate()

Yah simpel banget, sekarang query di belakang jadi ramping. Data besar yang akan ditampilkan juga akan semakin ringan.

Semoga membantu.