ad-mos/laravel-datatables

DataTables Server-Side API for Laravel Framework
11,276 1
Install
composer require ad-mos/laravel-datatables
Latest Version:v2.11
PHP:^8.0
Laravel:5 – 13
License:MIT
Last Updated:Oct 8, 2026
Links: GitHub  ·  Packagist
Maintainer: ad-mos

DataTables Server-Side API for Laravel Framework

Laravel 5.x Latest Stable Version StyleCI Scrutinizer Code Quality License

Quick Installation

$ composer require ad-mos/laravel-datatables

Usage examples

1 - Simple table:

public function data(DataTables $dataTables)
{
    return $dataTables->provide(new User);
}

2 - Table with joins:

public function data(DataTables $dataTables)
{
    $model = new User;

    $query = $model->newQuery()
        ->leftJoin('user_emails', 'user_emails.user_id', '=', 'users.id')
        ->leftJoin('user_phones', 'user_phones.user_id', '=', 'users.id')
        ->groupBy('users.id');

    $aliases = [
        'emails' => 'GROUP_CONCAT(DISTINCT `user_emails`.email SEPARATOR \'|\')',
        'phones' => 'GROUP_CONCAT(DISTINCT `user_phones`.phone SEPARATOR \'|\')',
    ];

    return $dataTables->provide($this->model, $query, $aliases);
}

3 - Column search by a different expression than the displayed one:

public function data(DataTables $dataTables)
{
    $model = new Record;

    $query = $model->newQuery()
        ->leftJoin('vehicles', 'vehicles.id', '=', 'records.vehicle_id');

    $aliases = [
        'vehicle' => 'CONCAT(`vehicles`.code, \'||\', `vehicles`.id)',
    ];

    return $dataTables
        ->setSearchFields(['vehicle' => '`vehicles`.code'])
        ->provide($model, $query, $aliases);
}

Without it the search for 12 would also match rows where vehicles.id contains 12.

DataTables can be accessed through IoC, helper or facade:

return $dataTables->provide(...);

return datatables()->provide(...);

return \DataTables::provide(...);

License

The MIT License. More information here.

Related Packages

yajra/laravel-datatables-html

Laravel DataTables HTML builder plugin

11,418,652 287
yajra/laravel-datatables-buttons

Laravel DataTables Buttons Plugin.

10,822,378 256
csi0n/laravel-datatables

Simple return lists in laravel.

191 0
yajra/laravel-datatables-oracle

jQuery DataTables API for Laravel

39,001,592 4,870

Version History

Version Released PHP Laravel License
v2.11 ^8.0 ^5.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0|^13.0 MIT
v2.10 ^8.0 ^5.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0|^13.0 MIT
v2.9 ^8.0 ^5.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0|^13.0 MIT
v2.8 ^8.0 ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10 MIT
v2.7 ^7.1|^8.0 ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10 MIT