You can add additional server data on your response by using with
api.
use DataTables;
Route::get('user-data', function() {
$model = App\User::query();
return DataTables::eloquent($model)
->with('posts', 100)
->with('comments', 20)
->toJson();
});
use DataTables;
Route::get('user-data', function() {
$model = App\User::query();
return DataTables::eloquent($model)
->with([
'posts' => 100,
'comments' => 20,
])
->toJson();
});
use DataTables;
Route::get('user-data', function() {
$model = App\User::query();
return DataTables::eloquent($model)
->with('count', function() use ($model) {
return $model->count();
})
->toJson();
});
This is for Query and Eloquent instance only,
use DataTables;
Route::get('user-data', function() {
$model = App\User::query();
return DataTables::eloquent($model)
->withQuery('count', function($filteredQuery) {
return $filteredQuery->count();
})
->toJson();
});
{
"draw": 1,
"recordsTotal": 10,
"recordsFiltered": 3,
"data": [{
"id": 476,
"name": "Esmeralda Kulas",
"email": "[email protected]",
"created_at": "2016-07-31 23:26:14",
"updated_at": "2016-07-31 23:26:14",
"deleted_at": null,
"superior_id": 0
}, {
"id": 6,
"name": "Zachery Muller",
"email": "[email protected]",
"created_at": "2016-07-31 23:25:43",
"updated_at": "2016-07-31 23:25:43",
"deleted_at": null,
"superior_id": 1
}],
"posts": 100,
"comments": 20
}