exeko/laravel-simple-query-filter

A simple Trait to include in your models to enable filters

v2.0 2020-09-24 11:47 UTC

This package is auto-updated.

Last update: 2025-07-24 22:17:22 UTC


README

A simple PHP Eloquent extension for universal filters.

Heavily inspired by https://github.com/AlexanderTersky/eloquent-query-filter but with a better support for relation

Installation

$ composer require exeko/laravel-simple-query-filter
{
    "require": {
        "exeko/laravel-simple-query-filter": "^1.0"
    }
}

Usage

Our request must look like

/filter[column_name:operator]=something

Some real life example:

/api/users/?filter[name:like]=john
/api/users/?filter[age:>]=18&filter[age:<]=25
/api/users/?filter[gender:<>]=male

Include the trait in your model

<?php

use Illuminate\Database\Eloquent\Model;
use Exeko\QueryFilter\Filter;

class User extends Model
{
    use Filter;
}

Controller

$users=User::filter($request->input('filter'))->get();