Skip to content

Atnic/eloquent-filters

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Filterable Eloquent

Easily filter Laravel Eloquent queries by using URL query strings.

Installation

Install the package via composer

composer require atnic/eloquent-filters

Usage

First you need to add Filterable trait and filters attribute to your model as the following:

use Smartisan\Filters\Traits\Filterable;

class User extends Model
{
    use Filterable;
    
    protected $filters = App\Filters\UserFilter::class;
}

Then create UserFilter class and define your filters as public methods:

use Smartisan\Filters\Filter;

class UserFilter extends Filter
{
    public function status($code)
    {
        return $this->builder->where('status', $code);
    }
}

Note that you are able to access the query builder instance of user by using $this->builder.

Now in order to check for URL query strings and perform the corrosponding filter, you need to use User::filter($request)->get().

Security

If you discover any security related issues, please email [email protected] instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.