
Filterable
Kettasoft Filterable - Powerful Eloquent Filtering Package
βοΈ Multiple Filtering Engines
Support different filtering strategies like RuleSet, Tree-Based, Dynamic Methods, and SQL Expressions β all pluggable and extensible.
π§© Clean, Decoupled Architecture
Built with SOLID principles in mind. Easily swap or extend engines without touching core logic.
π§Ό Customizable Filter Sanitizers
Apply custom sanitization and validation logic for every input field or filter operator.
π Relation & Nested Filters Support
Filter through deep nested relationships with controlled access and relation depth to preserve performance and security.
π§ Intelligent Field Management
Define allowed fields, nested relations, and control exactly whatβs queryable in each context.
π Plug & Play Integration
Works seamlessly with any Laravel query builder. Minimal setup required to get started.
This is the content of home page. Check Home Page Docs for more details.
π Use Cases
- Build complex dashboards with advanced filtering capabilities.
- Create public APIs with strict control over what fields can be queried.
- Support admin panels that need custom filtering rules per user role.
- Handle dynamic filtering for search pages or reports.
π§ Example Use
Filterable::withRequest($request)
->useEngine('ruleset')
->setAllowedFields(['status', 'title', 'author.name'])
->setRelations(['author'])
->filter(Post::query());
π§ͺ Tested & Production-Ready
Filterable is heavily tested and battle-proven in real-world applications, ensuring stability and reliability even with large datasets and complex filters.
π‘ Extending the Package
Need a custom engine? Simply extends the Engine
abstract class and register it β the system is built for extension and customization.