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
Admin Listing

Admin Listing Laravel Package

savannabits/admin-listing

savannabits/admin-listing is a Laravel package for quickly building admin listing pages. Declare columns, search, filters, sorting, and row actions in one configurable class, then get paginated, Blade-rendered tables out of the box. Ideal for CRUD backends and internal tools.

View on GitHub
Deep Wiki
Context7

savannabits/admin-listing is a Laravel package for building admin listing pages quickly. It offers a fluent API to define columns, filters, and row actions for your Eloquent models, replacing repetitive Blade markup with concise, reusable configuration. Ideal for back-office dashboards that need consistent, data-driven tables.

  • Fluent column and filter definitions
  • Built-in searching, sorting, and pagination
  • Row and bulk actions for common operations
  • Eloquent model integration out of the box
  • Publishable views and config for full customization
Frequently asked questions about Admin Listing
How do I install savannabits/admin-listing in a Laravel app?
Install it with Composer using composer require savannabits/admin-listing. Laravel package auto-discovery should register the service provider, but confirm the provider appears in your bootstrap/providers.php or config/app.php after install. If the package ships a config file, publish it and review the defaults before your first boot. Run any provided migrations in a non-production environment first.
Which Laravel and PHP versions does savannabits/admin-listing support?
The current line is 7.x, with v7.0.1 as a patch release for dependency updates. The exact php and illuminate/* constraints are declared in the package's composer.json, so check those values against your fleet baseline before requiring it. If its minimum Laravel or PHP version is above what you run, treat adoption as a platform upgrade rather than a quick install.
How do I define columns for an admin listing with savannabits/admin-listing?
The package is configuration-driven: you describe the columns a listing should expose, along with how each one maps to an Eloquent model attribute or relation. That definition is reusable, so the same column set can back an index page or a data table without duplicating query code. Keep the definition in a dedicated class or config rather than in the controller so it stays testable.
How do I add search and filters to an Eloquent admin listing?
Search and filtering are part of the package's listing definition: you mark which columns are searchable and declare the filters the UI should expose. The package then applies those constraints to the underlying Eloquent query so you do not hand-write request-to-query plumbing for every index page. Validate incoming filter values yourself, since filter keys come from the request.
Can I add row actions such as edit, view, and delete buttons?
Yes, row actions are a first-class part of the listing configuration, which is what makes the package useful for CRUD index screens. You define the actions once alongside the columns instead of repeating markup per page. Destructive actions should still go through your normal authorization policies and CSRF-protected routes.
What changed in savannabits/admin-listing v7 and how do I upgrade from v6?
Version 7.0.1 is a patch release whose changelog entry is dependency updates, so it carries no stated public API change. Version 7.0.0 is a major release, and majors typically rename config keys, move namespaces, or raise the minimum Laravel and PHP versions. Pull the v7.0.0 release notes and any upgrade guide, then diff your published config against the shipped one before upgrading. If you are on 6.x, schedule this as a major upgrade rather than slipping it in under a patch.
Does savannabits/admin-listing publish config files or run migrations?
Treat this as something to verify on install rather than assume: inspect the package's service provider for publish tags and loadMigrationsFrom calls. If a config file is published, review every default before booting, and assume you maintain a customized copy that needs diffing on each major upgrade. Run any migrations in a scratch environment first to see whether the package expects tables you would own.
How does savannabits/admin-listing compare to Laravel DataTables or Spatie Query Builder?
Spatie Query Builder focuses on turning request parameters into Eloquent queries and leaves rendering to you. Laravel DataTables-style packages are oriented around a specific table front end and its expected payload shape. Savannabits Admin Listing sits closer to a configuration-driven admin listing layer, bundling columns, filters, search, and row actions for CRUD index screens. Pick based on how much of the presentation layer you want the package to own.
How do I test admin listings built with savannabits/admin-listing?
Because the listing definition is separate from the controller, you can assert on the query it produces and on the HTTP response of the index route in PHPUnit or Pest. Cover the filters and search parameters explicitly, since that is where request input reaches your query builder. Use factories to seed a small dataset and assert ordering and pagination as well as filtering.
Is savannabits/admin-listing safe for production and actively maintained?
The visible signal is a 7.x line with a recent patch release, which suggests the package is maintained, but release cadence and issue responsiveness should be checked on the repository before you commit. The v7.0.1 dependency bump should be resolved in your lockfile to confirm it does not shift a shared transitive dependency or raise a platform requirement. Check for any security advisory attached to the bumped dependencies, since a patch carrying dependency churn can be either routine hygiene or a remediation. Review the provider for outbound network calls, cache writes, or singletons that collide with your own bindings.
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.
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
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