Skip to main content
Tutorial Free

Laravel-datatables: enchant your tables with ease

January 04, 2016
3 min read
Today I want to offer you an overview of a package made for DataTables.net integration into Laravel: laravel-datatables. This package allows you to easily create server-side processed DataTables with most of its available functionality while only writing a few lines of code.

Laravel-datatables installation

1. composer.json
"yajra/laravel-datatables-oracle": "~6.0"
2. config/app.php
Yajra\Datatables\DatatablesServiceProvider::class,
Facade should be automatically registered. 3. publishing configuration
$ php artisan vendor:publish --tag=datatables

Some simple magic

As an example I'm going to use our default Users. Let's take a simple view with a table:
<!DOCTYPE html>
<head>
  <link href="//cdn.datatables.net/1.10.10/css/jquery.dataTables.min.css" rel="stylesheet">
</head>
<body>
  <table class="datatable">
    <thead>
      <tr>
        <th>ID</th>
        <th>Name</th>
        <th>Email</th>
        <th>Created at</th>
      </tr>
    </thead>
    <tbody>
    </tbody>
  </table>
  <script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
  <script src="//cdn.datatables.net/1.10.10/js/jquery.dataTables.min.js"></script>
  <script>
    $(document).ready(function(){
      $('.datatable').DataTable({
            processing: true,
            serverSide: true,
            ajax: '{{ route('users.serverSide') }}'
        });
    });
  </script>
</body>
And here is our logic to get the main table up and running: (*this code was written directly into routes.php and it is no different than controller code)
<?php

use Yajra\Datatables\Datatables;

Route::get('/', function () {
    return view('welcome');
});

Route::get('/users/serverSide', [
    'as'   => 'users.serverSide',
    'uses' => function () {
        $users = App\User::select(['id', 'name', 'email', 'created_at']);

        return Datatables::of($users)->make();
    }
]);
After entering into the page we should see a fully working datatable. This package works great with Eloquent and even Query Builder or Collections. Both of them have a different availability of functions but the main ones are: As you can see, this package has a lot to offer and I couldn't write everything down here (please visit their official site below). Of course, it can't fit all of our needs but this is a really great package which is a must when working with datatables. Keep in mind that there are some requirements involved in this package:
  • PHP 5.5.9 or later.
  • Laravel 5.0 or later.
As always, don't forget to read the official documentation.

Enjoyed This Tutorial?

Get access to all premium tutorials, video and text courses, and exclusive Laravel resources. Join our community of 10,000+ developers.

Comments & Discussion

No comments yet…

We'd Love Your Feedback

Tell us what you like or what we can improve

Feel free to share anything you like or dislike about this page or the platform in general.