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

Filterable Laravel Package

kettasoft/filterable

Filterable brings clean, request-driven filtering to Laravel Eloquent models. Define reusable filter classes, apply them to any query with a simple trait, and support search, sorting, and custom filters without bloating your controllers. Lightweight and easy to extend.

View on GitHub
Deep Wiki
Context7

A powerful and flexible Laravel package for advanced, clean, and scalable filtering of Eloquent models using multiple customizable engines.

Frequently asked questions about Filterable
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.
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.
robertmarney/lara-hierarchial-collections
simonschaufi/rule-doc-generator
emissaoja/emissaoja
blackbricksoftware/gravityforms-civicrm-form-processor
al-rahabi/fancy-crud
jinas/dhivatar-component
mltstephane/laravel-quality
bernskiold/laravel-talentlms
bernskioldmedia/laravel-form-architect
youbar/easy-crud
c-point-labs/laravel-hostyourai
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo