Introduction
About 293 wordsLess than 1 minute
introductionoverviewfeatureswhy use filterable
Filterable is an elegant, developer-friendly Laravel package designed to simplify and streamline advanced filtering of Eloquent queries. Whether you're building APIs, admin dashboards, or complex data search systems, Filterable gives you full control over how data is filtered — without compromising on flexibility or performance.
Why Filterable?
Filterable supports a multi-engine architecture, allowing you to choose or define how filtering should work, tailored to your project's exact needs. You can filter based on query parameters, nested relationships, or even dynamic methods — all with minimal boilerplate.
Key Features
Multiple filtering engines
Choose the engine that fits your use case:
- Ruleset Engine — flat rule arrays with operator support
- Invokable Engine — method-based dynamic filtering
- Tree Engine — nested relationship filtering
- Expression Engine — advanced expression-based filtering
Customizable filter sanitizers
Sanitize and validate user input at the filter level before it reaches your query builder.
Decoupled & extendable architecture
Built with SOLID principles to support clean separation of concerns and easy engine extension.
Deep relationship filtering
Filter through nested Eloquent relationships with full control over allowed fields and depth.
Plug & play integration
Works seamlessly with any Laravel query builder — just install and start filtering.
Readable, expressive syntax
Define filters in a natural, concise way for better maintainability and team collaboration.
Filterable empowers you to keep filtering logic organized, testable, and reusable — making it a must-have tool for any Laravel developer working with structured data.
