Laravel 5 package for handling column sorting with pagination example
In this post we will give you information about Laravel 5 package for handling column sorting with pagination example. Hear we will give you detail about Laravel 5 package for handling column sorting with pagination exampleAnd how to use it also give you demo for it if it is necessary.
Laravel 5 package for handling column sorting with pagination example
In this Laravel 5.6 Tutorial, I will let you know how to implement column sorting and pagination with example using kyslik/column-sortable
package.
This is very easiest way to get links on the column headings in the table to sort the table data.
User can easily traverse on the long list of paginated records by sorting column with the help of kyslik/column-sortable
package in Laravel 5.6
You can sort the database results based on a specific column either in ascending or descending order.
By default, It will use the default font classes of Font Awesome to show the icons for sorting orders.
This is very helpful package for the developers to develop admin panel where they can easily implement the sorting features by following few steps in Laravel 5
Step1: Download the fresh Laravel application
In this step, I will download the fresh application of Laravel to start from the scratch.
composer create-project --prefer-dist laravel/laravel blog
Step2: Install the Laravel Package kyslik/column-sortable
Now in this step, I will add the kyslik/column-sortable
Laravel package to start working on sorting results.
Run the following command to install the package :
composer require kyslik/column-sortable
Now open the app.php
file from config directory and add the service provider in providers array.
'providers' => [ .... KyslikColumnSortableColumnSortableServiceProvider::class, ] .....
Now publish the configuration file for kyslik/column-sortable
package in Laravel.
php artisan vendor:publish --provider="KyslikColumnSortableColumnSortableServiceProvider" --tag="config"
When you run above command to publish the pacage configuration file then you will get following response :
Copied File [/vendor/kyslik/column-sortable/src/config/columnsortable.php] To [/config/columnsortable.php] Publishing complete.
Step3: User.php Model
In this step, add sortable scope to the “User” models.
<?php namespace App; use IlluminateNotificationsNotifiable; use IlluminateFoundationAuthUser as Authenticatable; use KyslikColumnSortableSortable; classUserextends Authenticatable { use Sortable; use Notifiable; /** * The attributes that are mass assignable. * * @var array */ protected$fillable= [ 'name', 'email', 'password' ]; /** * The attributes that should be hidden for arrays. * * @var array */ protected$hidden= [ 'password', 'remember_token', ]; public$sortable= ['id','name','email','created_at']; }
Step4: Add Route
In this step, I will add route to list user data so that I can test the sorting features of kyslik/column-sortable
Laravel package.
routes/web.php
Route::get('users', 'UserController@index');
Step5: Create UserController.php
In this step, I will create UserController.php file in following path app/Http/Controllers/
<?php namespace AppHttpControllers; use IlluminateHttpRequest; use AppUser; classUserControllerextends Controller { /** * Display the products dashboard. * * @return IlluminateHttpResponse */ publicfunctionindex() { $users= User::sortable()->paginate(10); return view('users.index',compact('users')); } }
Step6: Create Blade View File “index.blade.php”
Now I will create a directory “users” inside resources/views/ directory and create a file index.blade.php
inside the users directory.
resources/views/users/index.blade.php
<!DOCTYPE html> <html> <head> <title>Laravel 5 package for handling column sorting with pagination example</title> <linkrel="stylesheet"href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> <linkhref="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"rel="stylesheet"> </head> <body> <divclass="container"> <h3class="text-center">Laravel 5 package for handling column sorting with pagination example</h3> <tableclass="table table-bordered"> <tr> <th>@sortablelink('id')</th> <th>@sortablelink('name')</th> <th>@sortablelink('email')</th> <th>@sortablelink('created_at','Created At')</th> </tr> @if($users->count()) @foreach($users as $user) <tr> <td>{{ $user->id }}</td> <td>{{ $user->name }}</td> <td>{{ $user->email }}</td> <td>{{ $user->created_at->diffForHumans() }}</td> </tr> @endforeach @endif </table> {!! $users->appends(request()->except('page'))->render() !!} </div> </body> </html>
In @sortablelink()
method, You will define the column name in the first parameter that needs to be sorted and in the second column, you will define the title that will be displayed inside anchor tags.
Try this example.
Hope this code and post will helped you for implement Laravel 5 package for handling column sorting with pagination example. if you need any help or any feedback give it in comment section or you have good idea about this post you can give it comment section. Your comment will help us for help you more and improve us. we will give you this type of more interesting post in featured also so, For more interesting post and code Keep reading our blogs