Laravel 19 :Phân trang trong laravel

0
1037

Giới thiệu

Trong các framework mà tôi từng làm việc, tôi cảm nhận thấy laravel hỗ trợ việc phân trang rất đơn giản, nhanh gọn mà lại phù hợp với công nghệ hiện thời. Việc tích hợp và sử dụng phân trang trong laravel khá dễ dàng.

Trong bài Xây dựng truy vấn bằng Laravel Query Builder chúng ta có một ví dụ trong đó tạo một trang chứa danh sách các sản phẩm. Danh sách này có 4 user nên chưa cần phân trang, nếu số lượng user lên đến User, chúng ta cần phân trang, mỗi trang sẽ chỉ chứa 5 sản phẩm giúp cho quản lý tốt hơn. Laravel Pagination giúp cho việc phân trang ngay khi xây dựng các truy vấn một cách rất dễ dàng, ngoài ra tính năng phân trang này còn tự sinh mã HTML phù hợp với cách thiết kế trang web sử dụng Bootstrap.

Phân trang kết quả truy vấn trong Laravel

Laravel sử dụng phương thức paginate() để phân trang, xem ví dụ sau để hiểu hơn cách sử dụng:

phương thức paginate() có thể sử dụng cho cả Query Builder và Eloquent ORM, nó tự động tính toán số lượng trang, các bản ghi nào thuộc trang… Trang hiện tại sẽ được phát hiện trong qua tham số page trong query string của URL.

Hiển thị kết quả phân trang trong view chỉ đơn giản như sau

vào view cần phân trang

listuser.blade.php

Chúng ta thấy việc chèn vào kết quả phân trang chỉ đơn giản là thêm

Các URL trong phân trang sẽ có dạng http://Thaygiaoquocdan.vn/Users?page=x, x là trang hiện hành. Nếu bạn muốn thêm các tham số query string vào URL này, sử dụng phương thức appends(), ví dụ bạn muốn phân trang các Users có id từ 6-10 chẳng hạn, đường dẫn sẽ có dạng http://Thaygiaoquocdan.vn/Users?page=x&minid=6&maxid=10.

Chúc mọi người học tập tốt!

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây