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
Livewire Tables

Livewire Tables Laravel Package

nalletje/livewire-tables

Build Bootstrap 5 tables in Laravel Livewire with query-based data, search, filters, row actions, actions with forms, route buttons, and column transforms. Optional Spatie permissions and Font Awesome support.

View on GitHub
Deep Wiki
Context7

nalletje/livewire-tables is a simple way to build advanced tables for Laravel Livewire using Bootstrap 5. It lets you generate tables directly from queries and relations, with minimal setup and no bloated configuration.

  • Data search across query results
  • Actions for single or multiple selected rows
  • Form-based actions and query filters
  • Route buttons and column result transforms
  • Optional Spatie permissions and Font Awesome support

Requires PHP 8.2, Laravel 10+, Livewire 3, and Bootstrap 5. Check the _examples folder for usage.

Frequently asked questions about Livewire Tables
How do I install nalletje/livewire-tables?
Run composer require nalletje/livewire-tables in a project that already meets the requirements: PHP 8.2 or higher, Laravel 10 or higher, Livewire 3 and Bootstrap 5. There is no publish or config step described, so installation is limited to the Composer require plus making sure Bootstrap 5 CSS and JS are loaded in your layout. The README points developers to the _examples folder in the repository, which effectively serves as the usage specification.
Which Laravel and Livewire versions does livewire-tables support?
The package requires PHP 8.2, Laravel 10 or higher, and Livewire 3.0.0 or higher, with Livewire 4 support added in version 0.4.0. Livewire 2 support was dropped in an earlier release, so older Livewire stacks are not an option. Bootstrap 5 is a hard requirement, while Spatie permissions and Font Awesome are optional add-ons.
Does livewire-tables work with Tailwind CSS?
No. The package is built for Bootstrap 5, and its modal, dropdown, loader and table markup are Bootstrap primitives rather than a swappable theme. On a default Tailwind-based Laravel application you would either run both CSS frameworks, fork the Blade views, or accept an admin surface that looks different from the rest of the product. Treat the Bootstrap dependency as an architectural decision, not a styling preference.
How do I build a Livewire table from an Eloquent query with relations?
You pass an Eloquent query, including relations, to the table component and the package turns it into a Bootstrap 5 table with server-side search, filters and sorting. The exact component API is only demonstrated in the _examples folder, so expect to reverse-engineer a working example before wiring up your own model. Check the query count per render on large tables with several relation columns, because eager loading is not documented as automatic.
How do I add row actions, bulk actions and action forms to a livewire table?
Since version 0.1.0 actions are defined as classes, and their handle method returns a Message object instead of a string. Bulk action handlers receive an Illuminate Collection of models plus an optional form array, so you loop over the selected rows inside the handler. Examples written for 0.0.x will not work unchanged.
Is there proper documentation for nalletje/livewire-tables?
Documentation is intentionally minimal; the maintainer states that the repository's _examples folder is where usage is demonstrated. Every hour of integration is therefore partly an hour of reading example code rather than docs. Budget for that, and write your own internal notes as you go so the knowledge is not locked in one developer's head.
Are bulk actions in livewire-tables transactional and authorized server-side?
Nothing in the package advertises a transactional guarantee: bulk handlers receive a Collection of models and loop over them, so a failure partway through can leave data half-applied. Wrap your handler logic in a database transaction and enforce per-row authorization inside the handler rather than relying on hidden buttons. The changelog also shows repeated selection-state fixes, so verify the selected row set is exactly what you expect before acting on it.
Does livewire-tables support search, filters, sorting and route buttons?
Yes. The advertised functionality includes query-based data search, query filters, sorting, route buttons, per-row and multi-row actions, actions with modal forms, and column result transforms. Because features have occasionally been removed in minor releases, pin the version you build and test against.
Is nalletje/livewire-tables safe to use in production?
It is pre-1.0, maintained by a single developer on a need-based roadmap, has a small install base, and ships no published test suite. Releases are recent and Livewire 4 was tracked quickly, which is a good signal but not a commitment. Pin the exact version in composer.json, create an exit boundary by wrapping the package in your own base component, and limit adoption to internal admin surfaces.
What breaks when upgrading livewire-tables between versions, and what are the alternatives?
Breaking changes have landed repeatedly between 0.1 and 0.3: handle now returns a Message object, actions must be classes, Livewire 2 support was dropped, and some features were removed in patch releases. Read the changelog before every bump and keep your own regression examples. If the Bootstrap 5 coupling or the maintenance risk is unacceptable, the realistic alternative is a hand-rolled Livewire component that paginates a query.
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.
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core
nodisrupt/laravel-agent
sierratecnologia/media-manager