Download the PHP package los/uql without Composer
On this page you can find all versions of the php package los/uql. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Vendor los
Package uql
Short Description PHP library to transform url query into db partial queries
License MIT
Homepage https://github.com/lansoweb/uql
Package uql
Short Description PHP library to transform url query into db partial queries
License MIT
Homepage https://github.com/lansoweb/uql
Please rate this library. Is it a good library?
Informations about the package uql
UQL - Url Query language
This library utilizes url query parameters and generates db queries.
At this moment, it provides integration with:
Planned:
Installing
Usage
The builder uses the query parameters 'q' for the queries and 'h' for hint (sort, order, limits, etc). You can change these in the constructor:
The Select instance returned by the builder methods is a clone from the one passed in the constructor.
Zend DB
Passing the request directly:
or manually passing the parameters:
Examples:
operation | url query | select |
---|---|---|
equal | ?q={"id":1} | WHERE id = 1 |
not | ?q={"id":{"$not":1}} | WHERE id != 1 |
in | ?q={"id":{"$in":[1,2]}} | WHERE id IN (1, 2) |
nin | ?q={"id":{"$nin":[1,2]}} | WHERE id NOT IN (1, 2) |
like | ?q={"name":{"$like":"John%"}} | WHERE name LIKE 'John%' |
null | ?q={"$null":"name"} | WHERE name IS NULL |
not null | ?q={"$nnull":"name"} | WHERE name IS NOT NULL |
and | ?q={"$and":[{"id":1},{"name":"John"}]} | WHERE id = 1 AND name = 'John' |
or | ?q={"$or":[{"id":1},{"name":"John"}]} | WHERE id = 1 OR name = 'John' |
greater | ?q={"price":{"$gt":100}} | WHERE price > 100 |
greater or equal | ?q={"price":{"$gte":100}} | WHERE price >= 100 |
less | ?q={"price":{"$lt":100}} | WHERE price < 100 |
less or equal | ?q={"price":{"$lte":100}} | WHERE price <= 100 |
between | ?q={"price":{"$bt":[100,200]}} | WHERE price >= 100 AND price <= 200 |
You can mix and nest queries:
url query | select |
---|---|
?q={"id":{"$not":1},"$or":[{"id":2},{"id":"3"}],"$and":[{"id":2},{"name":"test"}]} | WHERE "id" != '1' AND ("id" = '2' OR "id" = '3') AND ("id" = '2' AND "name" = 'test') |
?q={"$or":[{"$and":[{"id":1},{"name":"test"}]},{"id":{"$not":1}},{"name":"test"}]} | WHERE (("id" = '1' AND "name" = 'test') OR "id" != '1' OR "name" = 'test') |
Hint examples:
operation | url query | select |
---|---|---|
sort | ?q={"id":1}&h={"$sort":"name"} | WHERE id = 1 ORDER BY name asc, price DESC |
sort | ?q={"id":1}&h={"$sort":{"name":"asc","price":-1}} | WHERE id = 1 ORDER BY name asc, price DESC |
limit | ?q={}&h={"$limit":10} | SELECT * FROM table LIMIT 10 |
limit + skip | ?q={}&h={"$limit":10,"$skip":20} | SELECT * FROM table LIMIT 10 SKIP 10 |
All versions of uql with dependencies
PHP Build Version
Package Version
The package los/uql contains the following files
Loading the files please wait ....