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
$ composer require exeko/laravel-simple-query-filter
{
"require": {
"exeko/laravel-simple-query-filter": "^1.0"
}
}
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
<?php
use Illuminate\Database\Eloquent\Model;
use Exeko\QueryFilter\Filter;
class User extends Model
{
use Filter;
}
$users=User::filter($request->input('filter'))->get();