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 readbale 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();
});