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
Nova Multiselect Filter

Nova Multiselect Filter Laravel Package

outl1ne/nova-multiselect-filter

A Laravel Nova filter package that adds a searchable multiselect dropdown, letting users filter resources by several values at once instead of only one. It's a simple drop-in replacement for Nova's default filter UI, easy to install, configure, and customize for any resource.

View on GitHub
Deep Wiki
Context7

Multiselect filter for Laravel Nova.

Frequently asked questions about Nova Multiselect Filter
How do I install outl1ne/nova-multiselect-filter in a Laravel Nova app?
Install it with Composer using composer require outl1ne/nova-multiselect-filter. There are no migrations, config publishing steps, or data backfills involved. After installation, create a filter class and register it in the filters() method of the Nova resource where you want multi-select filtering.
Which Laravel Nova and PHP versions does this multiselect filter support?
The package is built for Laravel Nova, but Nova's filter and front-end contracts are not a stable public API, so version compatibility is the main thing to verify. Check the package's composer.json constraints, repository tags, and changelog against the exact Nova and PHP versions you run. The listed release metadata appears future-dated, so reconcile it with actual repository tags before scheduling a pilot.
How do I add the multiselect filter to a Nova resource?
Create a filter class that extends the package's base filter and implement an options() method for the selectable values and an apply() method for the query logic. Then add that filter class to the filters() array on the target Nova resource. This is a drop-in replacement pattern for Nova's default filter UI and does not require changes elsewhere in the application.
What should the apply() method do with multiple selected values?
The apply() method receives the selected values and typically applies a whereIn clause to the query. Decide deliberately whether it targets a plain column, a JSON field, or a relationship-backed value, and document that behavior for your team. Validate the generated query against production-like data so admin users see correct filtered results.
How does the filter behave with an empty selection, null values, or select all?
Those cases need to be validated against your own data rather than assumed. Empty selection, null columns, select-all behavior, JSON fields, and relationship filters can each produce different query results. Because incorrect filtering in an admin tool is a trust problem for internal users, test these scenarios before rollout.
Can I filter on JSON columns or relationship-backed values?
The filter passes selected values to apply(), so the query logic you write determines whether it filters a plain column, a JSON field, or a relationship. That behavior should be documented and configurable for your use case. Confirm it works with your schema and Nova resource setup before relying on it in production.
Is the multiselect dropdown searchable, and can options load asynchronously?
The package adds a searchable multiselect dropdown, which helps users find values in longer option lists. Options are typically supplied through a PHP options() method, so verify whether async loading is supported for your use case. For high-cardinality option sets, also check that option serialization does not inflate the Nova index response payload.
How do I customize the multiselect filter's Vue component?
Customizing or repairing the front-end control requires familiarity with Vue and Nova components. A PHP-only team can consume the package but may not be able to fix the control under pressure. The MIT license and small code surface make forking feasible, which is the main mitigant if you need changes.
Is this a replacement for Nova's default filter UI or a general query builder?
It is a narrow, additive replacement for Nova's default filter UI that lets users filter resources by several values at once. It is not a general query builder, saved-view system, or reporting filter, and it should not be scoped as one. If the roadmap need moves toward those capabilities, reopen the decision rather than stretching this package.
What maintenance and production risks should I consider?
The dominant risk is Nova upgrade coupling, since a Nova major release can break the Vue component or filter contract; add it to your Nova upgrade runbook. The project has modest adoption signals, with 46 stars and zero listed dependents, suggesting thin field testing and a likely single-maintainer model. Assign internal ownership for upstream-watch and fork readiness, and validate query semantics, authorization, and tenant scoping before production use.
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.
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle
adachsoft/api-version-bundle
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
cgv/localized-resource