yajra/laravel-datatables-fractal
Laravel DataTables Fractal plugin for Laravel: transform server-side DataTables responses using League Fractal. Works with PHP 8.2+ and Laravel 12+. Install via Composer; optional service provider and vendor:publish config.
include() for lazy-loading relationships.->get() inside transform).cache() for static data.yajra/laravel-datatables:^9.0 for Laravel 9.x).data, recordsTotal).Phase 1: Proof of Concept (PoC)
composer require yajra/laravel-datatables-fractal
// Before
return DataTables::of(User::query())->make(true);
// After
return DataTables::of(User::query())
->transform(function ($query) {
return Fractal::collection($query->get(), new UserTransformer());
});
Phase 2: Incremental Rollout
Order::with('items.user')).Phase 3: Frontend Sync
Fractal::cache()), but avoid caching dynamic DataTables responses.| Step | Priority | Dependencies | Notes |
|---|---|---|---|
| Install package | High | Laravel 12.x | Run composer require |
| Define transformers | High | Fractal | Start with 1–2 critical models |
| Update controllers | Medium | DataTables | Replace make(true) with transform() |
| Frontend adaptation | Low | DataTables.js/Axios | Adjust column mapping if needed |
| Testing | High | PHPUnit/Pest | Mock transformers or use feature tests |
assert($model instanceof User)).composer.json (e.g., ^12.0).How can I help you explore Laravel packages today?