![]()
WARNING You're browsing the documentation for an upcoming version of Laravel DataTables. The documentation and features of this release are subject to change.
Fractal Transformer Serializer
You can set the serializer to be used by DataTables using the setSerializer API. Serializer should be used with setTransformer API.
Basic Usage
use Yajra\DataTables\Facades\DataTables; Route::get('user-data', function () { $model = App\Models\User::query(); return DataTables::eloquent($model) ->setTransformer(new App\Transformers\UserTransformer) ->setSerializer(new App\Serializers\CustomSerializer) ->toJson();});
Available Serializers
The Fractal package provides several built-in serializers:
| Serializer | Description |
|---|---|
DataArraySerializer |
Returns data as a plain array (default) |
ArraySerializer |
Returns data wrapped in a data key |
JsonApiSerializer |
Returns data in JSON API format |
Creating a Custom Serializer
<?php// app/Serializers/CustomSerializer.php namespace App\Serializers; use League\Fractal\Serializer\ArraySerializer; class CustomSerializer extends ArraySerializer{ // Override methods as needed}
Example with JSON API
use Yajra\DataTables\Facades\DataTables;use App\Transformers\UserTransformer;use League\Fractal\Serializer\JsonApiSerializer; Route::get('user-data', function () { $model = App\Models\User::query(); return DataTables::eloquent($model) ->setTransformer(new UserTransformer) ->setSerializer(new JsonApiSerializer) ->toJson();});
See Also
- Fractal Plugin Installation - Get started with the Fractal plugin
- Response using Transformer - Learn how to transform DataTables responses using Fractal transformers