Download the PHP package aidynmakhataev/eloquent-json-macros without Composer
On this page you can find all versions of the php package aidynmakhataev/eloquent-json-macros. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download aidynmakhataev/eloquent-json-macros
More information about aidynmakhataev/eloquent-json-macros
Files in aidynmakhataev/eloquent-json-macros
Package eloquent-json-macros
Short Description A Laravel Eloquent Builder macros for MySQL JSON functions
License MIT
Homepage https://github.com/AidynMakhataev/eloquent-json-macros
Informations about the package eloquent-json-macros
Laravel Eloquent JSON Macros
This package helps you to use MySQL JSON functions in Eloquent style and as helper functions.
Installation
You can install the package using composer
Features
-
Support macros:
jsonContains
orJsonContains
whereJsonContainsPath
orWhereJsonContainsPath
whereJsonDepth
orWhereJsonDepth
whereJsonExtract
orWhereJsonExtract
whereJsonLength
orWhereJsonLength
selectJsonDepth
selectJsonLength
- Available helpers:
- json_array_append
- json_array_insert
- json_insert
- json_remove
- json_replace
- json_set
Usage
Let's say we have a table events
with json columns - browser
and members
;
Browser (dummy json object)
Members (dummy json array)
jsonContains
Add where 'JSON_CONTAINS' clause to the query for indicates whether JSON document contains specific object at path
More on: https://dev.mysql.com/doc/refman/5.7/en/json-search-functions.html#function_json-contains
Example (for browser
json object column)
Example (for member
json array column)
orJsonContains
Add an orWhere 'JSON_CONTAINS' clause to the query for indicates whether JSON document contains specific object at path
Usage will be same as in jsonContains
macro;
whereJsonContainsPath
Add a where 'JSON_CONTAINS_PATH' clause to the query for indicates whether JSON document contains any data at path
More on: https://dev.mysql.com/doc/refman/5.7/en/json-search-functions.html#function_json-contains-path
Example (for browser
json object column)
For single path
For multiple path
You can also optionally pass a third parameter ('one' or 'all'), by default used 'one'
Example (for member
json array column)
orWhereJsonContainsPath
Add an orWhere 'JSON_CONTAINS_PATH' clause to the query for indicates whether JSON document contains any data at path
Usage will be same as in whereJsonContainsPath
macro;
whereJsonDepth
Add a where 'JSON_DEPTH' clause to the query for indicates depth of JSON document
More on: https://dev.mysql.com/doc/refman/5.7/en/json-attribute-functions.html#function_json-depth
Example (for browser
json object column)
Example (for member
json array column)
orWhereJsonDepth
Add an orWhere 'JSON_DEPTH' clause to the query for indicates depth of JSON document
Usage will be same as in whereJsonDepth
macro;
whereJsonExtract
Add a where "JSON_EXTRACT" clause to the query.
More on: https://dev.mysql.com/doc/refman/5.7/en/json-search-functions.html#function_json-extract
Example (for browser
json object column)
Example (for member
json array column)
orWhereJsonExtract
Add an orWhere "JSON_EXTRACT" clause to the query.
Usage will be same as in whereJsonExtract
macro;
whereJsonLength
Add a where 'JSON_LENGTH' clause to the query.
More on: https://dev.mysql.com/doc/refman/5.7/en/json-attribute-functions.html#function_json-length
Example (for browser
json object column)
Example (for member
json array column)
orWhereJsonLength
Add an orWhere 'JSON_LENGTH' clause to the query
Usage will be same as in whereJsonLength
macro;
TODO EXPLANATION FOR OTHER MACROS AND HELPERS
Contributing
- Fork it (https://github.com/AidynMakhataev/eloquent-json-macros/fork)
- Create your feature branch (
git checkout -b feature/fooBar
) - Commit your changes (
git commit -am 'Add some fooBar'
) - Push to the branch (
git push origin feature/fooBar
) - Create a new Pull Request
Security
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
License
MIT