yuriitatur/query-builder
最新稳定版本:v1.0.1
Composer 安装命令:
composer require yuriitatur/query-builder
包简介
A simple package to build query node tree
README 文档
README
Query builder
This is a simple AST nodes set that comes with a very simple query lexer and parser. It uses doctrine/lexer project to deal with text tokens.
Installation
Composer:
composer require yuriitatur/query-builder
Testing
composer test
Why?
This package is needed to abstract a query construction process when dealing with repositories. After building an ast tree, this tree will be passed to a corresponding db driver to perform actual query.
Syntax
Although this package is purposely designed to expose it as ast, as a side effect, it's possible to write queries as a string. It's very basic, don't use it in production. Example:
FILTER={name = "Alice" AND (status in ["open", "closed"] OR priority >= 2)}
ORDER={createdAt desc, name asc}
PAGINATION={page=1, limit=10}
META={key="value"}
AGGREGATE={COUNT(id), SUM(amount)}
It features 5 top-level keywords:
filter- defines a set of criteria bound together withand/orkeywords. Groups can be nested with(). Supported operators:= != < > <= >= in !in like !likeorder- a list of columns each followed byascordesc, separated by commaspagination- key-value pairs forpage,limit, andoffset(all integers)meta- a simple key-value storage for query-specific config passed to the db driveraggregate- a list of aggregate function calls; supported functions:avg,count,min,max,sum
License
This code is under MIT license, read more in the LICENSE file.
统计信息
- 总下载量: 92
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-07-27