railken/lara-eye

v3.0.2 2024-04-04 22:38 UTC

This package is auto-updated.

Last update: 2024-11-04 23:50:04 UTC


README

Actions Status

Filter your Illuminate\DataBase\Query\Builder using a structured query language. This can be pretty usefull when you're building an API and you don't want to waste hours of your time creating predefined filters that may change at any time.

Requirements

PHP 8.1 or later.

Usage

use Railken\LaraEye\Filter;
use Railken\SQ\Exceptions\QuerySyntaxException;
use App\Foo;


// Instance of Illuminate\DataBase\Query\Builder
$query = (new Foo())->newQuery()->getQuery();

$str_filter = "x > 5 or y < z";

$filter = new Filter("foo", ['id', 'x', 'y', 'z', 'created_at', 'updated_at']);

try {
    $filter->build($query, $str_filter);
} catch (QuerySyntaxException $e) {
    // handle syntax error
}

Syntax here

Composer

You can install it via Composer by typing the following command:

composer require railken/lara-eye

Demo

demo

License

Open-source software licensed under the MIT license.