yajra/laravel-datatables
Complete Laravel DataTables installer (core + plugins) for DataTables 2.x, including Editor, Buttons, and Select support. Works with Laravel 13 and PHP 8.3+, providing server-side processing integration and tooling for fast, rich table UIs.
vendor:publish, ensuring consistency with project’s asset pipeline (e.g., Vite, Laravel Mix).SELECT *) can bloat database load. Requires discipline in query design.Data Model Compatibility:
Frontend Stack:
Scaling Needs:
Customization Requirements:
Maintenance Plan:
Migration Path:
wire:table or Inertia’s useDataTable).Assessment Phase (1–2 days):
Installation (0.5 day):
composer require yajra/laravel-datatables:^13
php artisan vendor:publish --provider="Yajra\DataTables\DataTablesServiceProvider"
config/app.php (optional for Laravel ≥5.5).public/vendor/datatables.Backend Integration (2–5 days):
Route::get('users/datatables', [UserController::class, 'datatables']);
public function datatables(Request $request)
{
return DataTables::eloquent(User::query())
->addColumn('action', function ($user) {
return '<button data-id="'.$user->id.'">Edit</button>';
})
->make(true);
}
Frontend Integration (1–3 days):
<!-- Blade Example -->
<table id="users-table" class="display">
<thead><tr><th>Name</th><th>Email</th></tr></thead>
</table>
<script>
$(document).ready(function() {
$('#users-table').DataTable({
processing: true,
serverSide: true,
ajax: '{{ route("users.datatables") }}',
columns: [{ data: 'name', name: 'name' }]
});
});
</script>
Extension Setup (1 day):
DataTables::eloquent(User::query())
->exportOptions(['format' => 'xlsx'])
->make(true);
Testing (2–3 days):
How can I help you explore Laravel packages today?