Tài nguyên/lượt xem/sản phẩm/phân trang chỉ mục tương ứng của Blade view template. lưỡi. php sẽ giống như dưới đây
@extends['layout']
@section['content']
Products
Add Product
Category
Name
SKU
Price
Actions
@if [$products->count[] == 0]
No products to display.
@endif
@foreach [$products as $product]
{{ $product->category->name }}
{{ $product->name }}
{{ $product->sku }}
${{ $product->price }}
Edit
@method['DELETE']
@csrf
Delete
@endforeach
{{ $products->links[] }}
Displaying {{$products->count[]}} of {{ $products->total[] }} product[s].
@endsection
Ở đây bạn cần chú ý phương pháp
Route::get['products/index-paging', '[email protected]'];
7 và phương pháp Route::get['products/index-paging', '[email protected]'];
8cung cấp cho bạn số mục trong trang hiện tại và tổng số mục.
Ngoài ra, hãy xem phương pháp
Route::get['products/index-paging', '[email protected]'];
9 rút ra điều khiển phân trang bên dưới bảngĐể làm cho hành động
composer require kyslik/column-sortable
0 hoạt động, bạn cần thêm một tuyến đường cho nó vào các tuyến đường/web của bạn. tập tin phpRoute::get['products/index-paging', '[email protected]'];
Bây giờ nếu bạn mở URL http. //trang web của bạn. com/products/index-paging trong trình duyệt của mình, bạn sẽ có thể
xem bảng có các trang.
[email protected]'];1. Để cài đặt gói đó, gõ.
composer require kyslik/column-sortable
Tiếp theo, bạn cần sửa đổi tệp cấu hình config/app. php và thêm mục sau
dưới khóa con nhà cung cấp.
Cuối cùng, chạy lệnh sau để tạo config/columnsortable. tập tin cấu hình php
php artisan vendor:publish --provider="KyslikColumnSortableColumnSortableServiceProvider" --tag="config"
Bây giờ bạn đã thiết lập gói. Để làm cho mô hình
Route::get['products/index-paging', '[email protected]'];
3 của bạn có thể sắp xếp được, bạn cần sửa đổi nó một chútRoute::get['products/index-paging', '[email protected]'];
1Lưu ý dòng
composer require kyslik/column-sortable
3 ở đầu là cách viết tắt củađặc điểm
composer require kyslik/column-sortable
4 mà chúng ta sẽ sử dụng. Dòng
composer require kyslik/column-sortable
5 bên trong lớp mô hình cho phép đặc điểm này trong mô hình của bạnCuối cùng, thuộc tính
composer require kyslik/column-sortable
6 xác định cột nào sẽ được hiển thị dưới dạng có thể sắp xếpRoute::get['products/index-paging', '[email protected]'];
6Để minh họa cách hoạt động của tính năng này, hãy thêm một hành động khác vào bộ điều khiển của chúng ta
Route::get['products/index-paging', '[email protected]'];
7Bạn có thể thấy rằng bây giờ chúng ta gọi phương thức
composer require kyslik/column-sortable
7 trên lớp Route::get['products/index-paging', '[email protected]'];
3. Phương thức này rất giống vớiRoute::get['products/index-paging', '[email protected]'];
0 vì nó đọc các tham số truy vấn KyslikColumnSortableColumnSortableServiceProvider::class
0 và KyslikColumnSortableColumnSortableServiceProvider::class
1 của yêu cầu HTTP và sửa đổitruy vấn SQL cơ bản khi cần.
Tài nguyên mẫu chế độ xem Blade tương ứng/lượt xem/sản phẩm/sắp xếp chỉ mục. lưỡi. php sẽ giống như bên dưới
Route::get['products/index-paging', '[email protected]'];
3Nó rất giống với mẫu xem trước đây của chúng tôi, nhưng có hai bổ sung
- bên trong tiêu đề bảng, chúng tôi sử dụng
2 với Blade để hiển thị các cột có thể sắp xếpKyslikColumnSortableColumnSortableServiceProvider::class
- ở dưới cùng, chúng tôi sử dụng
3 để hiển thị kiểm soát phân trang, đồng thời nối các tham số truy vấnKyslikColumnSortableColumnSortableServiceProvider::class
0 vàKyslikColumnSortableColumnSortableServiceProvider::class
1KyslikColumnSortableColumnSortableServiceProvider::class
vào đó.
Để hiển thị chính xác các mũi tên sắp xếp, bạn cũng cần tải xuống và đưa Phông chữ tuyệt vời vào phần đầu
tài nguyên/lượt xem/bố cục mẫu bố cục của bạn. lưỡi. php.
@extends['layout']
@section['content']
Products
Add Product
Category
Name
SKU
Price
Actions
@if [$products->count[] == 0]
No products to display.
@endif
@foreach [$products as $product]
{{ $product->category->name }}
{{ $product->name }}
{{ $product->sku }}
${{ $product->price }}
Edit
@method['DELETE']
@csrf
Delete
@endforeach
{{ $products->links[] }}
Displaying {{$products->count[]}} of {{ $products->total[] }} product[s].
@endsection
0Cuối cùng, thêm một tuyến đường khác vào tuyến đường/web của bạn. php
@extends['layout']
@section['content']
Products
Add Product
Category
Name
SKU
Price
Actions
@if [$products->count[] == 0]
No products to display.
@endif
@foreach [$products as $product]
{{ $product->category->name }}
{{ $product->name }}
{{ $product->sku }}
${{ $product->price }}
Edit
@method['DELETE']
@csrf
Delete
@endforeach
{{ $products->links[] }}
Displaying {{$products->count[]}} of {{ $products->total[] }} product[s].
@endsection
1Và bây giờ, nếu bạn mở URL http. //trang web của bạn. com/products/index-sorting trong trình duyệt của mình, bạn sẽ có thể thấy bảng đã bật tính năng sắp xếp
Add Product
No products to display. | ||||
{{ $product->category->name }} | {{ $product->name }} | {{ $product->sku }} | ${{ $product->price }} | Edit @method['DELETE'] @csrf Delete |
Displaying {{$products->count[]}} of {{ $products->total[] }} product[s].
@endsection2Nó trông rất giống với cái trước [với phân trang và sắp xếp], nhưng lưu ý biểu mẫu HTML ở trên cùng.
Khi chúng tôi gửi biểu mẫu này, nó sẽ cung cấp cho chúng tôi tham số truy vấn
KyslikColumnSortableColumnSortableServiceProvider::class
6 trong yêu cầu HTTP. Bây giờ hãy thêm hành động của bộ điều khiển
@extends['layout']
@section['content']
Products
Add Product
Category
Name
SKU
Price
Actions
@if [$products->count[] == 0]
No products to display.
@endif
@foreach [$products as $product]
{{ $product->category->name }}
{{ $product->name }}
{{ $product->sku }}
${{ $product->price }}
Edit
@method['DELETE']
@csrf
Delete
@endforeach
{{ $products->links[] }}
Displaying {{$products->count[]}} of {{ $products->total[] }} product[s].
@endsection
3Trong mã này, chúng tôi lấy tham số
KyslikColumnSortableColumnSortableServiceProvider::class
6 lấy từ yêu cầu. Tùy thuộc vào độ dài của nó,chúng tôi có thể thêm một điều kiện bổ sung
KyslikColumnSortableColumnSortableServiceProvider::class
8 vào SQL của mình hoặc không. Thêm một tuyến đường khác vào tuyến đường/web của bạn. php
@extends['layout']
@section['content']
Products
Add Product
Category
Name
SKU
Price
Actions
@if [$products->count[] == 0]
No products to display.
@endif
@foreach [$products as $product]
{{ $product->category->name }}
{{ $product->name }}
{{ $product->sku }}
${{ $product->price }}
Edit
@method['DELETE']
@csrf
Delete
@endforeach
{{ $products->links[] }}
Displaying {{$products->count[]}} of {{ $products->total[] }} product[s].
@endsection
4Nếu bây giờ bạn mở URL http. //trang web của bạn. com/products/index-filtering trong trình duyệt của bạn,
bạn sẽ có thể xem biểu mẫu lọc phía trên bảng.
Add Product
No products to display. | ||||
{{ $product->category->name }} | {{ $product->name }} | {{ $product->sku }} | ${{ $product->price }} | Edit @method['DELETE'] @csrf Delete |
Displaying {{$products->count[]}} of {{ $products->total[] }} product[s].
@endsection5Xin lưu ý rằng DataTables phải được tải SAU jQuery. Nếu bạn đang sử dụng jQuery, hãy đảm bảo rằng bạn
đặt tập lệnh DataTables sau nó.
Để trình bày cách sử dụng DataTables trong Laravel, hãy tạo một hành động điều khiển khác
@extends['layout']
@section['content']
Products
Add Product
Category
Name
SKU
Price
Actions
@if [$products->count[] == 0]
No products to display.
@endif
@foreach [$products as $product]
{{ $product->category->name }}
{{ $product->name }}
{{ $product->sku }}
${{ $product->price }}
Edit
@method['DELETE']
@csrf
Delete
@endforeach
{{ $products->links[] }}
Displaying {{$products->count[]}} of {{ $products->total[] }} product[s].
@endsection
6Tài nguyên chế độ xem/lượt xem/sản phẩm/chỉ mục-datatables tương ứng. lưỡi. php sẽ giống như dưới đây
@extends['layout']
@section['content']
Products
Add Product
Category
Name
SKU
Price
Actions
@if [$products->count[] == 0]
No products to display.
@endif
@foreach [$products as $product]
{{ $product->category->name }}
{{ $product->name }}
{{ $product->sku }}
${{ $product->price }}
Edit
@method['DELETE']
@csrf
Delete
@endforeach
{{ $products->links[] }}
Displaying {{$products->count[]}} of {{ $products->total[] }} product[s].
@endsection
7Lưu ý cách chúng tôi xác định bảng HTML trong đoạn mã trên. Chúng tôi chỉ xác định phần đầu của nó, giữ cho phần thân trống.
Điều này là do phần thân thực của bảng sẽ được DataTables điền vào một cách nhanh chóng.
Cũng lưu ý mã JavaScript ở dưới cùng. Nó khởi tạo DataTables và bảo nó sử dụng AJAX để truy vấn
nguồn dữ liệu phía máy chủ. Sử dụng nguồn dữ liệu cho phép chỉ tải phần kết quả cần thiết rất nhanh.
Hãy triển khai hành động nguồn dữ liệu trong bộ điều khiển của chúng tôi
@extends['layout']
@section['content']
Products
Add Product
Category
Name
SKU
Price
Actions
@if [$products->count[] == 0]
No products to display.
@endif
@foreach [$products as $product]
{{ $product->category->name }}
{{ $product->name }}
{{ $product->sku }}
${{ $product->price }}
Edit
@method['DELETE']
@csrf
Delete
@endforeach
{{ $products->links[] }}
Displaying {{$products->count[]}} of {{ $products->total[] }} product[s].
@endsection
8Trong đoạn mã trên, chúng tôi chỉ tải đoạn kết quả bằng cách sử dụng các tham số truy vấn do DataTables cung cấp