Easily filter Laravel Eloquent queries by using URL query strings.
Install the package via composer
composer require atnic/eloquent-filters
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()
.
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.