- How do I install kettasoft/filterable in a Laravel app?
- Install the package with Composer by running composer require kettasoft/filterable. Then add the Filterable trait to the Eloquent models you want to filter and define reusable filter classes. Check the repository README for any optional configuration publishing or engine setup steps.
- What Laravel and PHP versions does kettasoft/filterable support?
- The exact Laravel and PHP version constraints are declared in the package composer.json and on Packagist. Review those constraints before installing or upgrading, especially for v3.0.1. The release notes state no new public APIs and no breaking changes, but that does not replace checking version requirements.
- How do I apply filters to an Eloquent model using Filterable?
- Add the Filterable trait to an Eloquent model and define reusable filter classes for the conditions you need. Apply the filters to a query through the package request-driven API so controllers stay thin. Search, sorting, and custom filters can be composed without scattering ad hoc query logic across your application.
- What does the v3.0.1 Tree engine fix change?
- v3.0.1 fixes the Tree engine so logical groups honor their declared AND/OR boolean and nested group boundaries are preserved. Permissive mode now omits rejected leaves while retaining valid conditions in the same group. This can change which records are returned for complex filter trees even though existing request structures remain compatible.
- Is upgrading to kettasoft/filterable v3.0.1 a breaking change?
- The release notes state there are no breaking changes and no new public APIs, and existing Tree request shapes remain compatible. However, boolean group evaluation behavior has changed, so query results can differ for complex nested filters. Treat the upgrade as dependency-level compatible but validate it as a semantic behavior change in filter-heavy applications.
- How should I test nested AND/OR filter groups after upgrading Filterable?
- Update in a development branch and run your existing application test suite first. Add or run targeted tests for nested AND/OR combinations, mixed groups, and permissive mode. Then compare representative production-like filters against staging data to catch result-set changes before deploying.
- What is permissive mode in Filterable and how does it affect results?
- Permissive mode allows a filter group to keep valid conditions when some leaves are rejected. In v3.0.1, rejected leaves are omitted while valid conditions in the same group are retained. This can alter which records are returned, so document the behavior for API consumers and test it explicitly.
- Can Filterable handle search, sorting, and custom filters together?
- Filterable is designed for request-driven filtering and supports search, sorting, and custom filters through reusable filter classes. You apply them to Eloquent queries with the package trait instead of writing repeated controller logic. The exact API depends on your filter definitions and chosen engine.
- How do I roll back if filter results change after upgrading Filterable?
- Because the upgrade is dependency-only, keep the previous composer.lock or pin kettasoft/filterable to the prior version as your rollback path. Deploy with normal monitoring and compare filter outputs against expected results. If production results diverge, revert the Composer change and investigate Tree group semantics before retrying.
- Are there alternatives to kettasoft/filterable for Laravel filtering?
- Alternatives include writing custom Eloquent query scopes, using Laravel query builder logic directly, or adopting another Laravel filtering package. Filterable differentiates itself with reusable filter classes and multiple engines, including a Tree engine for nested AND/OR filters. Evaluate it against your need for request-driven nested filtering and your tolerance for behavior changes during upgrades.