Resource Response
DataTables response using Laravel model resource.
Basic Usage
<?php use Yajra\DataTables\Facades\DataTables;use App\Models\User; Route::get('user-data', function() { return DataTables::eloquent(User::query()) ->toJson();});
[!TIP] When using Laravel API Resources with DataTables, you can wrap the result of
UserResource::collection()and pass it toDataTables::of(). However, for most use cases with Eloquent models, usingDataTables::eloquent()directly is recommended as it handles pagination, sorting, and filtering automatically.
Using with API Resources
If you need to transform your response using Laravel API Resources:
<?php use Yajra\DataTables\Facades\DataTables;use App\Models\User;use App\Http\Resources\UserResource; Route::get('user-data', function() { return DataTables::eloquent(User::query()) ->setTransformer(function (User $item) { return UserResource::make($item)->resolve(); }) ->toJson();});
Example Response
{ "draw": 10, "recordsTotal": 10, "recordsFiltered": 10, "data": [ { "id": 476, "name": "Esmeralda Kulas", "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", "created_at": "2016-07-31 23:25:43", "updated_at": "2016-07-31 23:25:43", "deleted_at": null, "superior_id": 1 } ]}
See Also
- Fractal Response - Using Fractal transformers
- Response Object - Default response format