Làm cách nào để tạo phân trang từ mảng trong laravel?
Bạn đã sử dụng Laravel Pagination với kết quả Eloquent. Đôi khi chúng ta phải phân trang trong Laravel trên các mảng đối tượng tùy chỉnh. Trong hướng dẫn này, chúng ta sẽ xem cách thực hiện phân trang thủ công Laravel Show
Ở đây chúng ta sẽ sử dụng lớp LengthAwarePaginator của Laravel để tạo phân trang tùy chỉnh trong Laravel Đây là mã để triển khai Phân trang tùy chỉnh trong Laravel // Trong Bộ điều khiển slice(($currentPage * $perPage) - $perPage, $perPage)->all(); // Create our paginator and pass it to the view $paginatedproducts= new LengthAwarePaginator($currentPageproducts , count($productCollection), $perPage); // set url path for generted links $paginatedproducts->setPath($request->url()); return view('products_view', ['products' => $paginatedproducts]); } } cũng đọc. Phân trang Laravel với Ajax // Theo quan điểm của bạn Products List
{{ $products->links() }} // Trong các tuyến đường của bạn Route::get('products','ProductsController@items'); Trong hướng dẫn này, chúng ta sẽ tạo một đối tượng bộ sưu tập tùy chỉnh với các mảng và tạo phân trang bằng cách sử dụng Laravel eloquent liên kết https. //www. giải pháp của nó. com/post/laravel-6-paginate-with-collection-or-arrayexample. html NHẬN CÁC KHÓA HỌC LẬP TRÌNH MIỄN PHÍNhận các hướng dẫn & quà tặng hữu ích về Laravel vào hộp thư đến của bạnBài đăng này được gửi bởi các thành viên của chúng tôi. Gửi bài mớiChủ đề. PHP Laravel Thẻ. Hướng dẫn Laravel 6 Trong các khuôn khổ khác, phân trang có thể rất đau đớn. Trình phân trang của Laravel được tích hợp với trình tạo truy vấn và Eloquent ORM và cung cấp khả năng phân trang thuận tiện, dễ sử dụng cho các kết quả cơ sở dữ liệu ngay lập tức. HTML được tạo bởi trình phân trang tương thích với khung CSS Bootstrap Sử dụng cơ bảnKết quả trình tạo truy vấn phân trangCó một số cách để phân trang các mục. Đơn giản nhất là sử dụng phương pháp 6 trên trình tạo truy vấn hoặc truy vấn Eloquent. Phương pháp 6 tự động đảm nhiệm việc đặt giới hạn và độ lệch phù hợp dựa trên trang hiện tại đang được người dùng xem. Theo mặc định, trang hiện tại được phát hiện bởi giá trị của đối số chuỗi truy vấn 8 trên yêu cầu HTTP. Giá trị này được Laravel tự động phát hiện và cũng được tự động chèn vào các liên kết do trình phân trang tạo raTrong ví dụ này, đối số duy nhất được truyền cho phương thức 6 là số mục bạn muốn hiển thị "trên mỗi trang". Trong trường hợp này, hãy xác định rằng chúng tôi muốn hiển thị 0 mục trên mỗi trang________số 8
"Phân trang đơn giản"Nếu bạn chỉ cần hiển thị các liên kết "Tiếp theo" và "Trước đó" đơn giản trong chế độ xem phân trang của mình, bạn có thể sử dụng phương pháp 3 để thực hiện truy vấn hiệu quả hơn. Điều này rất hữu ích cho các tập dữ liệu lớn khi bạn không cần hiển thị liên kết cho từng số trang khi hiển thị chế độ xem của mình
Phân trang kết quả hùng biệnBạn cũng có thể phân trang các truy vấn Eloquent. Trong ví dụ này, chúng tôi sẽ phân trang mô hình 4 với 0 mục trên mỗi trang. Như bạn có thể thấy, cú pháp gần giống với kết quả của trình tạo truy vấn phân trang
Bạn có thể gọi 6 sau khi đặt các ràng buộc khác cho truy vấn, chẳng hạn như mệnh đề 7Products List
{{ $products->links() }} 8Bạn cũng có thể sử dụng phương pháp 3 khi phân trang các mô hình EloquentRoute::get('products','ProductsController@items');0 Tạo thủ công một PaginatorĐôi khi bạn có thể muốn tạo một phiên bản phân trang theo cách thủ công, chuyển cho nó một mảng các mục. Bạn có thể làm như vậy bằng cách tạo phiên bản 9 hoặc Products List
{{ $products->links() }} 80, tùy thuộc vào nhu cầu của bạnLớp Products List
{{ $products->links() }} 81 không cần biết tổng số mục trong tập kết quả; .Products List
{{ $products->links() }} 82 chấp nhận hầu hết các đối số giống nhưProducts List
{{ $products->links() }} 81;Nói cách khác, Products List
{{ $products->links() }} 3 trên trình tạo truy vấn và Eloquent, trong khi Products List
{{ $products->links() }} 82 tương ứng với phương thức 6
Hiển thị kết quả phân trangKhi gọi phương thức 6, bạn sẽ nhận được một thể hiện của Products List
{{ $products->links() }} 80. Khi gọi phương thức 3, bạn sẽ nhận được một thể hiện của 9. Các đối tượng này cung cấp một số phương thức mô tả tập kết quả. Ngoài các phương thức trợ giúp này, các thể hiện của trình phân trang là các trình vòng lặp và có thể được lặp dưới dạng một mảng. Vì vậy, khi bạn đã truy xuất kết quả, bạn có thể hiển thị kết quả và hiển thị các liên kết trang bằng BladePhương thức Route::get('products','ProductsController@items');02 sẽ hiển thị các liên kết đến phần còn lại của các trang trong tập hợp kết quả. Mỗi liên kết này sẽ chứa biến chuỗi truy vấn 8 phù hợp. Hãy nhớ rằng, HTML được tạo bởi phương thức Route::get('products','ProductsController@items');02 tương thích với khung CSS Bootstrap Tùy chỉnh URI của PaginatorPhương thức Route::get('products','ProductsController@items');05 cho phép bạn tùy chỉnh URI được sử dụng bởi trình phân trang khi tạo liên kết. Ví dụ: nếu bạn muốn trình phân trang tạo các liên kết như Route::get('products','ProductsController@items');06, bạn nên chuyển Route::get('products','ProductsController@items');07 cho phương thức Route::get('products','ProductsController@items');05 1Nối vào liên kết phân trangBạn có thể thêm vào chuỗi truy vấn của các liên kết phân trang bằng phương pháp Route::get('products','ProductsController@items');09. Ví dụ: để thêm 10 vào mỗi liên kết phân trang, bạn nên thực hiện lệnh gọi sau tới Route::get('products','ProductsController@items');09 5Nếu bạn muốn nối tất cả các giá trị chuỗi truy vấn hiện tại vào các liên kết phân trang, bạn có thể sử dụng phương thức 12 7Nếu bạn muốn thêm một "đoạn mã băm" vào các URL của trình phân trang, bạn có thể sử dụng phương thức 13. Ví dụ: để thêm 14 vào cuối mỗi liên kết phân trang, hãy gọi phương thức 13 như sau 1Điều chỉnh cửa sổ liên kết phân trangBạn có thể kiểm soát số lượng liên kết bổ sung được hiển thị ở mỗi bên của "cửa sổ" URL của trình phân trang. Theo mặc định, ba liên kết được hiển thị ở mỗi bên của liên kết trang chính. Tuy nhiên, bạn có thể kiểm soát số này bằng phương pháp 16 3Chuyển đổi kết quả thành JSONCác lớp kết quả phân trang của Laravel triển khai hợp đồng Giao diện 17 và hiển thị phương thức 18, do đó rất dễ dàng chuyển đổi kết quả phân trang của bạn thành JSON. Bạn cũng có thể chuyển đổi một thể hiện của trình phân trang thành JSON bằng cách trả về nó từ một tuyến đường hoặc hành động của bộ điều khiển 0JSON từ trình phân trang sẽ bao gồm thông tin meta như 19, 50, 51, v.v. Các đối tượng kết quả thực tế sẽ có sẵn thông qua khóa 52 trong mảng JSON. Đây là một ví dụ về JSON được tạo bằng cách trả về một phiên bản trình phân trang từ một tuyến đường 1Tùy chỉnh Chế độ xem Phân trangTheo mặc định, các chế độ xem được hiển thị để hiển thị các liên kết phân trang tương thích với khung CSS Bootstrap. Tuy nhiên, nếu bạn không sử dụng Bootstrap, bạn có thể tự do xác định chế độ xem của riêng mình để hiển thị các liên kết này. Khi gọi phương thức Route::get('products','ProductsController@items');02 trên phiên bản paginator, hãy chuyển tên chế độ xem làm đối số đầu tiên cho phương thức 2Tuy nhiên, cách dễ nhất để tùy chỉnh chế độ xem phân trang là xuất chúng sang thư mục 54 của bạn bằng cách sử dụng lệnh 55 3Lệnh này sẽ đặt các khung nhìn trong thư mục 56. Tệp 57 trong thư mục này tương ứng với chế độ xem phân trang mặc định. Bạn có thể chỉnh sửa tệp này để sửa đổi HTML phân trangNếu bạn muốn chỉ định một tệp khác làm chế độ xem phân trang mặc định, bạn có thể sử dụng các phương thức 58 và 59 của trình phân trang trong 70 của mình 4Sử dụng TailwindLaravel bao gồm các chế độ xem phân trang được xây dựng bằng Tailwind CSS. Để sử dụng các chế độ xem này thay vì các chế độ xem Bootstrap mặc định, bạn có thể gọi phương thức 71 của trình phân trang trong 70 của mình
Làm cách nào để tạo phân trang tùy chỉnh từ một mảng trong laravel?Bước 2. Nhập đặc điểm này vào tệp mà bạn muốn tạo phân trang từ một mảng. Ở đây tôi đang nhập đặc điểm này vào bộ điều khiển gia đình. Trong đoạn mã trên, tôi đã nhập đặc điểm phân trang trong bộ điều khiển gia đình. Bước 3. Chỉ cần chuyển mảng của bạn làm đối số trong hàm phân trang mà bạn đã tạo trong PaginationTrait
Làm cách nào để tạo phân trang tùy chỉnh trong laravel?Để tùy chỉnh các liên kết phân trang của Laravel, bạn cần thực hiện các bước sau. . Tạo một ứng dụng Laravel Tạo một cơ sở dữ liệu và kết nối với nó Cơ sở dữ liệu hạt giống với dữ liệu giả Xem tất cả người dùng thêm phân trang Xuất bản chế độ xem phân trang Chỉnh sửa và sử dụng Làm cách nào để phân trang một bộ sưu tập trong laravel?Laravel cung cấp tính năng phân trang ngay lập tức cho Bộ sưu tập Eloquent, nhưng bạn không thể sử dụng tính năng đó theo mặc định trên Bộ sưu tập thông thường. Các bộ sưu tập có phương thức forPage(), nhưng nó ở mức độ thấp hơn, vì vậy nó không tạo ra các liên kết phân trang. Vì vậy, bạn phải tạo phiên bản LengthAwarePaginator . |