Looking to hire Laravel developers? Try LaraJobs

laravel-simple-query-filter maintained by exeko

Description
A simple Trait to include in your models to enable filters
Author
Jonathan Gueron
Last update
2020/09/24 13:47 (dev-master)
License
Links
Downloads
7 246

Comments
comments powered by Disqus

Laravel Simple Query Filters

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();