Filterable
Home
πŸ“¦ Installation
GitHub
Home
πŸ“¦ Installation
GitHub
Filterable

Filterable

Kettasoft Filterable - Powerful Eloquent Filtering Package

IntroductionInstallation

βš™οΈ 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.

MIT Licensed | Copyright Β© 2024-present Kettasoft