Introduction
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 out of the box:
- Ruleset Engine
- Invokable Engine
- Tree Engine
- Expression Engine
π§ Customizable filter sanitizers
Sanitize and validate user input at the filter level.
π§© 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 filter.
π Readable, expressive syntax
Define filters in a natural, concise way for better maintainability.
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.