Skip to content

Eloquent Data Source

You may use Laravel's Eloquent Model as data source for your dataTables. You can look at Yajra\DataTables\EloquentDataTable class which handles the conversion of your Eloquent Model into a readable DataTable API response.

Eloquent via Factory

use DataTables;
 
Route::get('user-data', function() {
$model = App\User::query();
 
return DataTables::of($model)->toJson();
});

Eloquent via Facade

use DataTables;
 
Route::get('user-data', function() {
$model = App\User::query();
 
return DataTables::eloquent($model)->toJson();
});

Eloquent via Dependency Injection

use Yajra\DataTables\DataTables;
 
Route::get('user-data', function(DataTables $dataTables) {
$model = App\User::query();
 
return $dataTables->eloquent($model)->toJson();
});

Eloquent via IoC

Route::get('user-data', function() {
$model = App\User::query();
 
return app('datatables')->eloquent($model)->toJson();
});

EloquentDataTable new Instance

use Yajra\DataTables\EloquentDataTable;
 
Route::get('user-data', function() {
$model = App\User::query();
 
return (new EloquentDataTable($model))->toJson();
});