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 Column Filter

Nova Column Filter Laravel Package

vyuldashev/nova-column-filter

A Laravel Nova filter that lets you filter resources directly by their table columns. Configure which columns are searchable and in what order, giving users a quick, native way to narrow down resource lists without building custom filter classes.

View on GitHub
Deep Wiki
Context7

A Laravel Nova database column filter.

Frequently asked questions about Nova Column Filter
What is vyuldashev/nova-column-filter and what does it do?
It is a small Laravel Nova filter package that lets you filter a Nova resource index list directly by columns on the underlying database table. Instead of writing a custom filter class for every field, you register it in a resource's filters() method and configure which columns are searchable and in what order they appear. It renders in Nova's standard index filter panel and narrows the index query with a where constraint. It is a leaf dependency with no service provider, migrations, assets, queue or cache surface.
How do I install vyuldashev/nova-column-filter in a Laravel Nova application?
Install it with Composer using composer require vyuldashev/nova-column-filter, then add the filter to the filters() array of the Nova resource you want to narrow. Because there are no published assets, migrations or configuration files, integration is just the Composer entry plus one array item and a column reference. The deploy artifact is a lockfile change and rollback is a revert. It is worth confirming the Composer constraint resolves against your locked Nova version before merging.
Which Laravel Nova, Laravel and PHP versions does nova-column-filter support?
Check the package's composer.json rather than assuming, because Nova's Filter contract and stubs changed across v3, v4 and v5. With a small, low-star package maintained by a single author, it is unlikely that every Nova major version has been tracked and tested. This is the first blocking gate in any evaluation: if your Nova major is not allowed by the constraint, the package is dead on arrival. If you are not on Nova at all, the assessment ends there since Nova is a commercial per-site licensed product.
How do I configure which columns are filterable and in what order?
You supply the column list when you add the filter to the resource's filters() method, and the order of that array drives the order shown in the filter panel. Keep the list explicit and short so the filter exposes a curated set rather than your entire schema. Only developer-supplied column names should ever appear there, never anything derived from the request. If you need business-dimension filtering instead of raw columns, Nova's built-in SelectFilter and BooleanFilter may fit better.
Is nova-column-filter safe against SQL injection and column enumeration?
That depends entirely on how column names and operators reach the query, so it is a blocking source-review item before production use. Column names and operators must be developer-supplied via an allowlist, never taken from request input, otherwise you have an injection and column-enumeration surface in a PII-touching admin panel. Read the filter class and confirm the where clause is built from your configured array only. A mandatory allowlist and a code review are the right mitigations, and vendoring the class makes that review permanent.
Does nova-column-filter respect Nova's indexQuery and authorization pipeline?
Do not assume it does; verify it explicitly with a multi-tenant test case. The appended where constraint has to compose with Nova's indexQuery and the resource's authorization scoping so a user cannot filter their way into another tenant's records. Because the filter applies at query level rather than in PHP, a missing scope is easy to miss in casual testing. Test with two accounts and two tenants, and confirm the filter cannot widen the result set.
What operators and column types does nova-column-filter support?
Expect a deliberately narrow surface: typically an equality or partial-match style constraint on a chosen column rather than a full operator set like in, between or greater-than. If you need range or multi-value filtering, confirm support before committing. Also consider that raw column filtering exposes database semantics such as nullability, enums, JSON paths and soft deletes rather than the business dimensions stakeholders usually ask for. That semantic drift is a real risk, not a cosmetic one.
Why does my Nova column filter still render but stop filtering after an upgrade?
This is the silent no-op failure mode: after a Nova major upgrade the filter can still appear in the panel while no longer appending an effective query constraint, so admins act on unfiltered data believing it is filtered. Nova's Filter contract and stubs shifted across v3, v4 and v5, and a low-star, single-maintainer package may not have tracked those changes. The mitigation is a standing smoke test that asserts the index query actually narrows when the filter is applied. Treat that test as a guardrail on every Nova upgrade, not a one-off check.
Should I use nova-column-filter or Nova's built-in SelectFilter and BooleanFilter?
If the real requirement is filtering by a curated set of business dimensions such as status, plan or team, Nova's built-in SelectFilter and BooleanFilter already cover it and this dependency buys you nothing. The package earns its place on back-office index screens where operators need ad-hoc narrowing of the long tail: region, created-at buckets, partial email or phone lookups. Ask stakeholders which of the two they actually mean before adding a dependency. The honest answer is often the built-in filter plus one custom class.
Is nova-column-filter still maintained, and can I vendor it instead of depending on Composer?
It has very few stars, zero dependents and a single maintainer with no disclosure process, so supply-chain and abandonment risk is high likelihood and medium impact, and every Nova upgrade is yours to absorb. The recommended end state is to vendor the class into app/Nova/Filters/ under your own namespace, confirm the license permits it, and drop the Composer dependency. That makes adoption reversible and removes the upgrade surprise entirely. If you keep the dependency, pin it and treat it as a timeboxed spike rather than a platform bet.
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