Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Datatables Laravel Package

bllim/datatables

Laravel package that adds server-side support for the DataTables jQuery plugin, letting you build AJAX-powered tables with pagination, searching, and sorting through a simple fluent API with minimal setup.

View on GitHub
Deep Wiki
Context7

bllim/datatables integrates the jQuery DataTables plugin with Laravel, providing efficient server-side processing for large datasets via Eloquent, Query Builder, or raw SQL. It handles pagination, searching, ordering, and filtering in PHP while keeping the front end responsive.

  • Supports Eloquent, Query Builder, and raw SQL sources
  • Server-side pagination, search, and column ordering
  • Custom column rendering, computed fields, and relation values
  • Simple facade/API for building DataTables JSON responses
  • Configurable request/response handling for Laravel apps
Frequently asked questions about Datatables
What is bllim/datatables used for?
bllim/datatables is a Laravel 4 package that provides server-side processing for the jQuery DataTables plugin. It lets you build an AJAX endpoint that handles pagination, filtering, and sorting using Eloquent or the Fluent query builder. It also supports column-based search and custom row formatting for scalable data tables. It is intended only for legacy Laravel 4 applications.
Is bllim/datatables compatible with Laravel 5 or later?
No, bllim/datatables is built specifically for Laravel 4 and does not support Laravel 5 or any newer version. The package has not been updated since 2015 and is not compatible with modern Laravel releases. Integrating it into Laravel 5+ would require forking or rewriting the package. For modern Laravel, use a maintained alternative such as yajra/laravel-datatables.
How do I install bllim/datatables in Laravel 4?
You install it via Composer by requiring bllim/datatables in your Laravel 4 project. Then you add the service provider and alias to your app configuration as described in the package documentation. Because Laravel 4 is end-of-life, installation may be fragile due to outdated dependency constraints. For any new project, installation is not recommended.
How does bllim/datatables handle server-side pagination, filtering, and sorting?
It reads DataTables AJAX request parameters and translates them into query builder operations. Pagination uses limit and offset, filtering applies where clauses based on search terms, and sorting maps order parameters to column ordering. You define the base query and column mappings in your controller. The package returns JSON in the format expected by the DataTables client.
Can I use bllim/datatables with Eloquent relationships or joins?
The package works with Eloquent and the Fluent query builder, so you can use joins and relationships in the base query. However, column search and ordering must be mapped carefully to avoid ambiguous column names. Complex relationships may require custom column definitions and additional query logic. Always validate column inputs to prevent unsafe SQL patterns.
Is bllim/datatables still maintained and secure for production?
No, bllim/datatables is unmaintained; its last release was in February 2015. Laravel 4 itself has been end-of-life since 2015, so there are no security patches or compatibility guarantees. Using it in production carries high technical risk, especially for security and PHP runtime upgrades. It should only be used as a temporary bridge in an existing legacy application.
What are alternatives to bllim/datatables for modern Laravel?
The most common alternative is yajra/laravel-datatables, which is actively maintained and supports modern Laravel versions. You can also implement server-side DataTables handling directly using Laravel's query builder or Eloquent, giving you full control. Other options include Laravel Livewire tables or custom AJAX endpoints. For new projects, avoid bllim/datatables entirely.
How do I configure column-based search and ordering in bllim/datatables?
You configure column mappings in your controller, specifying which database columns correspond to DataTables columns and whether they are searchable or orderable. The package uses these mappings to apply column-specific filtering and ordering. You can also define custom row formatting via closures. Always validate and whitelist column names to avoid SQL injection risks.
How can I test DataTables endpoints built with bllim/datatables?
Write integration tests that simulate DataTables AJAX requests with parameters like draw, start, length, search, and order. Assert the JSON response structure, pagination metadata, filtered row counts, and sorted order. Include tests for authorization and edge cases such as invalid column names. Since the package is legacy, containerize or freeze the runtime to keep tests reproducible.
Can I migrate from bllim/datatables to yajra/laravel-datatables?
Yes, migration is feasible and recommended as part of a Laravel upgrade. Inventory all routes and controllers using bllim/datatables, isolate the DataTables endpoints behind a thin interface, and then replace the package with yajra/laravel-datatables. You will need to adapt query definitions and column mappings to Yajra's API. Plan a hard cutover milestone and remove the legacy package and its dependencies.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console