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 Bundle Laravel Package

omines/datatables-bundle

Symfony bundle that integrates the DataTables jQuery library for realtime Ajax tables. Decoupled from data sources, it ships with Doctrine ORM, MongoDB, and Elastica adapters for building custom, efficient tables in Symfony 6.4+.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for server-side data grids. This package answers the recurring "do we build our own paginated, sortable, searchable table component?" question with a "buy" — but only for teams already on Symfony. It collapses what is typically 2–4 weeks of plumbing (request parsing, criteria mapping, count queries, JSON response shaping) into a controller method plus a Twig template.
  • Admin/back-office roadmap prioritization. Because the cost per table is so low, it shifts the calculus on internal tooling: teams can ship 10 CRUD list views instead of picking 2. That is a portfolio-level decision about how much internal tooling to fund in a given quarter, not just a library choice.
  • Framework fit as a gating decision. The package is Symfony-only (6.4+), despite being framed here as a Laravel/PHP package. If the product roadmap is Laravel-based, this is a no regardless of code quality — it would require a bespoke bridge with no community support (zero dependents). The decision it actually supports is "which of our services are Symfony, and is that where the table-heavy admin work lives?"
  • Frontend strategy lock-in. Adoption commits the product to jQuery DataTables on the client. That's a real product decision for any surface a customer sees, and a cheap one for internal admin surfaces. Use this package to justify keeping DataTables for back-office and not for customer-facing experiences where a React/Vue grid is on the roadmap.
  • Data-source architecture. The adapter abstraction (Doctrine ORM, MongoDB, Elastica bundled; DBAL and FOSElastica possible but not provided) lets product decide to start with ORM-backed tables and extend later, rather than committing to a single storage engine up front. Note the missing DBAL adapter — teams with raw-SQL or legacy schemas should scope a custom adapter as an explicit line item.
  • Reporting/export features. Server-side processing plus criteria providers make "export the filtered result set, not just the current page" a tractable roadmap item rather than a separate pipeline.

When to Consider This Package

Adopt when all of the following hold:

  • The service is on Symfony 6.4+. If it is Laravel, Lumen, or framework-agnostic PHP, this is out of scope — there is no Laravel integration and effectively no third-party ecosystem to lean on.
  • The data is server-side and large enough that client-side rendering is a problem — thousands to millions of rows, with filters and sorting that must happen in the database.
  • The primary data source is Doctrine ORM, MongoDB, or Elastica. Anything else (raw SQL, DBAL, a third-party API, a search service) means writing and owning a custom adapter.
  • The team is comfortable with Twig, Symfony DI, and jQuery DataTables. The bundle deliberately leaves client-side dependencies to the implementer; it is not a batteries-included UI kit.
  • The surface is internal or back-office, where a jQuery table is acceptable and visual differentiation is not a product requirement.

Look elsewhere when:

  • You need a Laravel-native solution (e.g., Yajra DataTables) or a modern SPA/API-first grid (AG Grid, TanStack Table, MUI DataGrid) with virtualization, inline editing, column pinning, or pivot views.
  • You need a vendor SLA or commercial support. This is an agency-published MIT project (Omines, Netherlands) with ~284 stars and negligible dependent count — support happens on Stack Overflow, and the README says so explicitly. Bus factor is low; the permissive license is your insurance policy, not a support contract.
  • Your data access layer is raw SQL / DBAL by design. There is no bundled DBAL adapter and the maintainers have publicly declined one; budget for custom adapter work and ongoing maintenance.
  • You need accessibility compliance or design-system integration as hard requirements — you will be styling and extending DataTables yourself.

How to Pitch It (Stakeholders)

To executives: This is a small, MIT-licensed OSS library that removes the repetitive engineering work behind every admin list screen — paging, sorting, searching, and filtering large datasets without loading everything into the browser. For our Symfony-based admin surfaces it reduces per-screen effort from weeks to days, which lets us ship more internal tooling with the same headcount. Cost is zero in licensing; the real costs are (a) it only works in Symfony, so it does not help our Laravel services, and (b) it is maintained by a single agency with a small community, so we should treat it as code we may eventually own. Recommendation: adopt narrowly for back-office Symfony admin, keep it out of customer-facing UI, and do not let it become a dependency of the core product.

To engineering: The bundle decouples DataTables' request/response protocol from the data source via an adapter interface, with Doctrine ORM, MongoDB, and Elastica adapters shipped. Integration is a DataTableFactory call, column definitions, an adapter, handleRequest(), and a Twig datatable_settings() call — the pattern mirrors Symfony Forms, so it will read as familiar. Constraints to plan around: Symfony 6.4+ only; client-side DataTables/jQuery assets are your responsibility; no DBAL adapter, so non-Doctrine data sources require a custom adapter you own; and per-table logic belongs in reusable DataTable types rather than controllers. The codebase has docs, a changelog, tagged releases, and CI with coverage, so onboarding risk is low — but pin versions and be prepared to fork. Treat it as a well-built piece of our own infrastructure, not as a vendor dependency.

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.
mydnic/volet-feature-board-filament-plugin
wmde/email-address
refinery29/test-util
dees040/laravel-api-responses
teamzac/geocoder
ideatica/config-writer
keaton-php/pipe-dream
jacksonwebservices/laravel-user-suite
maksimru/conditional-laravel-debugbar
gismatul/nova-support-chat
gismatul/laravel-support-chat
networkrailbusinesssystems/oracle-api
alphabalex/messaging-made-easy
rawphp/warp
shootkiran/merobug
narakode/fineauth
numencode/wn-syncops-plugin
ibnnajjaar/mib-global-pay
refinery29/php-cs-fixer-config
parsnick/steak