gurgentil/eloquent-filters
gurgentil/eloquent-filters adds clean, reusable filtering to Laravel Eloquent models. Define filter classes for each parameter and let the package whitelist and apply request-based query filters, keeping controllers tidy and searches safe, flexible, and easy to maintain.
Architecture fit
WHERE). It fits Laravel conventions (local scopes, form requests, policies) but the package itself does not enforce validation, authorization, or an allowlist beyond what filter classes declare. That governance has to come from your application layer.spatie/laravel-query-builder, which is actively maintained and ships allowlisting, sorting, and includes. Any adoption decision is really "this package vs. Spatie vs. ~150 lines of native scopes."Integration feasibility
composer require, package discovery, one trait on the model, one class per model. A working proof of concept on a single endpoint is an afternoon, not a sprint.Technical risk
ReturnTypeWillChange, removed helpers) are unverified and plausible.Key questions
composer.json constraints for laravel/framework, illuminate/*, and php? Does it install cleanly on Laravel 10/11/12 and PHP 8.2/8.3?Stack fit
Migration path
spatie/laravel-query-builder, and hand-rolled scopes. If this package wins on ergonomics, adopt it as a fork or pinned dependency, not as a floating constraint.composer.json constraints, run the upstream test suite on our PHP/Laravel matrix, publish to a private registry. This converts an abandonment risk into a routine maintenance line item.QueryFilter interface so replacement is a single-file change. No call sites should reference the package namespace directly.Compatibility
composer.json constraints before anything else; if it blocks install, stop and re-scope.Sequencing
Maintenance
Support
Scaling
WHERE clauses. Real scaling risk is downstream: unindexed filter columns, compound-filter selectivity, and filter-driven eager loading producing N+1s. Validate filter columns against index coverage.Failure modes
Ramp-up
How can I help you explore Laravel packages today?