Langkah 20: Membuat Fitur Pagination
Pagination adalah fitur yang penting dalam aplikasi web yang menampilkan banyak data. Hal ini memungkinkan data yang banyak dibagi ke dalam beberapa halaman, sehingga memudahkan pengguna untuk mengakses data secara lebih teratur. Laravel menyediakan fitur pagination yang mudah digunakan.
Langkah 20.1: Mengatur Data Dummy
Untuk contoh pagination, mari buat data dummy yang akan ditampilkan dalam halaman.
Tambahkan fungsi di controller untuk menampilkan daftar data dummy.
php
Copy code
// app/Http/Controllers/PaginationController.php
class PaginationController extends Controller
{
public function index()
{
$data = [];
for ($i = 1; $i <= 50; $i++) {
$data[] = ['id' => $i, 'name' => 'Item ' . $i];
}
return view('pagination.index', compact('data'));
}
}
Langkah 20.2: Menampilkan Data dengan Pagination
Buat view untuk menampilkan daftar data dengan pagination.
<!-- resources/views/pagination/index.blade.php -->
<!DOCTYPE html>
<html>
<head>
<title>Data List</title>
</head>
<body>
<h1>Data List</h1>
<ul>
@foreach ($data as $item)
<li>{{ $item['name'] }}</li>
@endforeach
</ul>
{{ $data->links() }}
</body>
</html>
Pada kode di atas, {{ $data->links() }} akan menampilkan link pagination berdasarkan data yang ada
.
Langkah 20.3: Mengatur Jumlah Data Per Halaman
Anda dapat mengatur jumlah data yang ditampilkan per halaman dengan menggunakan method paginate() pada query builder.
Ubah fungsi index pada controller untuk menggunakan pagination.
// app/Http/Controllers/PaginationController.php
class PaginationController extends Controller
{
public function index()
{
$data = [];
for ($i = 1; $i <= 50; $i++) {
$data[] = ['id' => $i, 'name' => 'Item ' . $i];
}
$data = collect($data)->paginate(10);
return view('pagination.index', compact('data'));
}
}
Langkah 20.4: Mengkustomisasi Tampilan Pagination
Anda juga dapat mengkustomisasi tampilan pagination dengan menggunakan template Blade milik Laravel.
Tambahkan view untuk tampilan pagination yang dikustomisasi.
<!-- resources/views/pagination/custom_pagination.blade.php -->
<ul class="pagination">
<li class="page-item {{ $data->currentPage() == 1 ? 'disabled' : '' }}">
<a class="page-link" href="{{ $data->previousPageUrl() }}" tabindex="-1">Previous</a>
</li>
@for ($i = 1; $i <= $data->lastPage(); $i++)
<li class="page-item {{ $data->currentPage() == $i ? 'active' : '' }}">
<a class="page-link" href="{{ $data->url($i) }}">{{ $i }}</a>
</li>
@endfor
<li class="page-item {{ $data->currentPage() == $data->lastPage() ? 'disabled' : '' }}">
<a class="page-link" href="{{ $data->nextPageUrl() }}">Next</a>
</li>
</ul>
Langkah 20.5: Menggunakan Template Pagination Kustom
Ubah view index untuk menggunakan template pagination kustom.
<!-- resources/views/pagination/index.blade.php -->
<!DOCTYPE html>
<html>
<head>
<title>Data List</title>
</head>
<body>
<h1>Data List</h1>
<ul>
@foreach ($data as $item)
<li>{{ $item['name'] }}</li>
@endforeach
</ul>
@include('pagination.custom_pagination', ['data' => $data])
</body>
</html>
Kesimpulan:
Dalam tutorial ini, Anda telah mempelajari cara menggunakan fitur pagination dalam aplikasi web Laravel. Fitur pagination memudahkan pengguna dalam mengakses data yang banyak dengan membaginya ke dalam beberapa halaman. Anda juga telah mempelajari cara mengatur jumlah data per halaman dan mengkustomisasi tampilan pagination sesuai dengan kebutuhan. Laravel menyediakan banyak fitur yang bermanfaat untuk mengembangkan aplikasi web yang efisien dan canggih. Teruslah eksplorasi dan tingkatkan pengetahuan Anda dalam menggunakan Laravel untuk mengembangkan aplikasi web yang lebih kompleks dan berkualitas tinggi. Selamat mencoba dan semoga tutorial ini membantu Anda dalam perjalanan pengembangan web dengan Laravel!