sereny/nova-searchable-filter
A Laravel Nova filter package that adds searchable select filters to your admin panels, letting you narrow resources by related records through a searchable dropdown instead of long, unwieldy option lists.
BelongsTo filter." This package only makes sense as a cheap default option in that comparison.BelongsTo filter renders a plain <select> of every related record. Once a parent table crosses roughly a few hundred rows (customers, accounts, SKUs, tenants), filtering becomes scroll-and-pray. A searchable dropdown is a small, measurable support-agent time saver — a legitimate line item in an "internal tools quality" backlog.Adopt (or, more accurately, evaluate) when all of the following hold:
BelongsTo filters with high-cardinality parent tables. That is the entire scope of the package.packages/ or app/Nova/Filters/ and owning it. At this maturity level, treat it as reference code you copy, not a library you composer require and forget.Look elsewhere — or just write it yourself — when:
BelongsToMany, MorphTo, dependent/cascading, or multi-select searchable filters. Out of scope.To executives: This is a small, low-cost usability fix for our internal admin panel, not a product feature. Support and ops staff currently wade through unsorted dropdowns of every customer/account record when filtering; a searchable picker cuts that to a few keystrokes. The package itself is a minor open-source utility with essentially no adoption (4 GitHub stars, no downstream users, no release in over a year), so we should treat it as a reference implementation we copy into our codebase, not a dependency we rely on. Total exposure: roughly a day of engineering, no licensing cost, no vendor relationship, and no lock-in — we can delete it at any time without touching product code.
To engineering: Scope is narrow — a searchable BelongsTo filter for Nova 4. It saves writing the same custom filter repeatedly across resources. Because the package is unmaintained and unproven, the recommendation is to vendor the source into our own app/Nova/Filters directory so we control compatibility and can fix breakage ourselves during Nova upgrades. If the estimate to replicate it in-house comes in under half a day, skip the dependency entirely and write it — that is the preferred outcome. If we do adopt it, add a note to the Nova upgrade checklist so it gets revalidated on every major version bump.
How can I help you explore Laravel packages today?