Filterable
Home
πŸ“¦ Installation
GitHub
Home
πŸ“¦ Installation
GitHub
  • Home
  • Introduction
  • Installation
  • How It Works
  • Engines

    • Invokable
    • Tree
    • Ruleset
    • Expression
  • Features

    • Header-Driven Filter Mode
  • Authorization
  • Validation
  • Sanitization

Introduction

Total DownloadsTests

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.

Edit this page
Last Updated:
Contributors: Abdalrhman Emad Saad
Prev
Home
Next
Installation