Skip to content

A Laravel Package to query your database with the request's query parameters in your API. (WIP / not yet released)

License

Notifications You must be signed in to change notification settings

mrcrmn/laravel-query-filters

Repository files navigation

Laravel Query Filters

Latest Version on Packagist Build Status Quality Score Total Downloads

Automatically query your eloquent models based on the request's query parameters.

Installation

You can install the package via composer:

composer require mrcrmn/laravel-query-filters

Basic Usage

A more detailed documentation is work in progress!

To use this package, simply set up your models like this:

use Mrcrmn\QueryFilters\Traits\Filter;
use Mrcrmn\QueryFilters\Contracts\Filterable;

class YourModel extends Model implements Filterable
{
    use Filter;

    public function getFilters()
    {
        return [
            \Mrcrmn\QueryFilters\Where::class,
            \Mrcrmn\QueryFilters\OrderBy::class,
            // ...
        ];
    }
}

Then in your controller you need to call the filter scope.

class Controller
{
    public function index()
    {
        $result = YourModel::filter()->get();

        // ...
    }
}

So finally you can use your api like this:

https://your-domain.com/api/your-model?where=price,>,100&orderBy=-created_at

Testing

composer test

Security

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

License

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

About

A Laravel Package to query your database with the request's query parameters in your API. (WIP / not yet released)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages