Skip to content

Latest commit

 

History

History
103 lines (83 loc) · 1.83 KB

response-with.md

File metadata and controls

103 lines (83 loc) · 1.83 KB

Additional Data Response

You can add additional server data on your response by using with api.

Adding response using key and value

use DataTables;

Route::get('user-data', function() {
	$model = App\User::query();

	return DataTables::eloquent($model)
				->with('posts', 100)
				->with('comments', 20)
				->toJson();
});

Adding response using array

use DataTables;

Route::get('user-data', function() {
	$model = App\User::query();

	return DataTables::eloquent($model)
				->with([
					'posts' => 100,
					'comments' => 20,
				])
				->toJson();
});

Adding response with closure.

use DataTables;

Route::get('user-data', function() {
	$model = App\User::query();

	return DataTables::eloquent($model)
				->with('count', function() use ($model) {
					return $model->count();
				})
				->toJson();
});

Adding response with query callback.

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

Example Response

{
	"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
}