kettasoft / filterable
Easy and fast Eloquent filter package
Requires
- php: ^8.0
- illuminate/database: ^8.0|^9.0|^10.0
- illuminate/support: ^8.0|^9.0|^10.0
Requires (Dev)
- mockery/mockery: ^1.3.2
- orchestra/testbench: ^8.0|^9.0
- phpunit/phpunit: ^8.4|^9.0|^10.5
This package is auto-updated.
Last update: 2025-05-30 16:36:02 UTC
README
Filterable
A powerful and flexible Laravel package for advanced, clean, and scalable filtering of Eloquent models using multiple customizable engines.
✨ Overview
Filterable lets you build highly customizable filtering logic for Laravel's Eloquent queries without messy conditions. With support for multiple engines like:
- Ruleset Engine
- Invokable Engine
- Expression Engine
- Tree Engine
...you can structure your filter logic however you like — from simple lists to deeply nested conditional trees with relationship support.
⚙️ Key Features
- Multiple Filtering Engines
- Chainable & Nested Filter Logic
- Relation & Nested Relation Filtering
- Custom Operators & Sanitization
- SOLID & Extensible Design
- Zero-Config Optional Defaults
📚 Documentation
For full documentation, installation, and usage examples, visit: https://kettasoft.github.io/filterable
✅ Quick Start
composer require kettasoft/filterable
Use it in your controller:
$posts = Post::filter(new PostFilter)->paginate();
Create your PostFilter using your preferred engine.
License
MIT © 2024-present Kettasoft