CristalTeam / php-api-wrapper

:rainbow: Work with APIs like with Laravel Eloquent or Doctrine (no longer a dream)
MIT License
119 stars 32 forks source link

Adds support for query comparison operators #40

Open jorbascrumps opened 2 years ago

jorbascrumps commented 2 years ago

Resolves #39

Queries can still be performed without explicitly setting an operator:

Entity::where('active', true)->get();

Or queries can have an operator specified:

Entity::where('created_at', '>', Carbon::now())->get();

Queries can even use a combination:

Entity::where('published', true)
    ->where([
        ['numComments', '>', 1],
        'author', 8)
    ])
    ->limit(10)
    ->get();

If an operator is not specified its value is set to = by default. Supported operators are: =, <, >, <=, >=, <>, !=, <=>.

Services will now have access to the column, operator, and value that has been set in the query:

public function getEntities(array $where)
{
    foreach ($where as [$column, $operator, $value]) {
        // ...
    }
}
jorbascrumps commented 2 years ago

@TZK- Any thoughts on this?