How to implement Yajra Datatable in Laravel ?

Datatable is an excellent pacakage for those who wants to make a normal table interactive.

The step to implement the Datatable is as follow.

You can also follow the documentation of the laravel

1) First of all go to your command prompt and your root folder and hit this command

composer require yajra/laravel-datatables-oracle

You can also specify the version of datatable as follow:

composer require yajra/laravel-datatables-oracle:"~9.0"

2) Then you have to go to config/app.php folder and paste the following codes

'providers' => [       Yajra\DataTables\DataTablesServiceProvider::class,] 

'aliases' => [     'DataTables' => Yajra\DataTables\Facades\DataTables::class,]


3) then go to the command prompt and publish the package by this code

Php artisan vendor:publish –tag=datatables

4) Now you are ready to go. Make a Model (say: Post) and its migration. Migrate the databse.

5) Make a controller by command prompt. You can also work on previously made controller. In the controller put this code.

public function getPosts()


$data = Post::all();

return Datatables::of($data)



NOTE: You have to include

use App\Post ;

use Datatables;

in the controller.

You should also make index() function to view the tables. In my case I have made as below:

public function index()


return view('backend.subject');


6) Now make the respective routes for view

Route::get(‘/’, ‘DatatableController@index’);

Route::get('datatable/getposts', ['as'=>'datatable.getposts','uses'=>'SubjectNoteController@getPosts']);

7) Now the last part to manage the view. Make a table with idname (say: myid)

<table id="myid">










8) Now send the data by using ajax to the controller by this method below:

<script type="text/javascript">

$(document).ready(function() {


"processing": true,

"serverSide": true,

"ajax": "{{ route('datatable.getposts') }}",

"columns": [

{data: 'id', name: 'id'},

{data: 'title', name: 'title'},

{data: 'author', name: 'author'},

{data: 'category', name: 'category'}





9) Please don’t forget to include jquery in the view page. You can use the following code

<script   src=""   integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0="   crossorigin="anonymous"></script>