canedoc/json-query-builder

v1.0.0 2022-10-25 11:52 UTC

This package is auto-updated.

Last update: 2025-05-27 01:03:11 UTC


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.