canedoc / json-query-builder
v1.0.0
2022-10-25 11:52 UTC
Requires
- php: >=7.3
Requires (Dev)
- nunomaduro/collision: ^5.10
- orchestra/testbench: ^5.0|^6.0|^7.0
README
laravel json query builder makes working with json column much easier, using json columns ley you combine NoSQL and relational structures in the same database. now you can use json columns as if they were structered columns for filtering, selecting and searching. We provide support for Mysql, MariaDB, Sql Server.
Installation
The recommended way to install json-query-builder is through Composer
$ composer require canedoc/json-query-builder
Usage
selecting
\DB::table('table')->addSelect('column->path->to->element', 'as_name');
or
ModelName::addSelect('column->path->to->element', 'as_name');
filtering by the data content
\DB::table('table')->whereJsonValue('column->path->to->element', '=', 22);
ModelName::whereJsonValue('column->path->to->element', '>', 22);
we can use operators : =, >, <, >=, <=, like.
filtering valid/invalid json column content.
\DB::table('table')->whereJsonIsValid('column');
ModelName::whereJsonIsInvalid('column');
we can also use : orWhereJsonValue, orWhreJsonIsValid, orWhereJsonIsInvalid.
tests
to test the package run:
./vendor/bin/testbench package:test
Authors
License
json-query-builder is licensed under the MIT License.