zooxsmart / los-uql
PHP库,用于将URL查询转换为数据库部分查询
1.0.0
2024-02-02 16:22 UTC
Requires
- php: >=8.1
- psr/http-message: ^1.0 || ^2.0
Requires (Dev)
- doctrine/coding-standard: ^12.0
- laminas/laminas-db: ^2.9
- laminas/laminas-diactoros: ^3.2
- php-coveralls/php-coveralls: ^2.6
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.3
- squizlabs/php_codesniffer: ^3.7
This package is auto-updated.
Last update: 2024-08-31 00:28:09 UTC
README
此库利用URL查询参数生成数据库查询。
目前,它提供了以下集成
计划
安装
composer require los/uql
使用方法
构建器使用查询参数 'q' 进行查询,使用 'h' 作为提示(排序、顺序、限制等)。您可以在构造函数中更改这些参数。
$builder = new ZendDbBuilder($select, 'query', 'hint');
构建器方法返回的 Select 实例是从构造函数中传入的实例的克隆。
Zend DB
直接传递请求
public function handle(ServerRequestInterface $request): ResponseInterface { $select = new \Laminas\Db\Select('table'); $select = (new ZendDbBuilder($select))->fromRequest($request); $statement = $sql->prepareStatementForSqlObject($select); $results = $statement->execute(); }
或手动传递参数
public function handle(ServerRequestInterface $request): ResponseInterface { $queryParams = $request->getQueryParams(); $query = $queryParams['q'] ?? []; $hint = $queryParams['h'] ?? []; $select = new \Laminas\Db\Select('table'); $select = (new ZendDbBuilder($select))->fromParams($query, $hint); $statement = $sql->prepareStatementForSqlObject($select); $results = $statement->execute(); }
示例
您可以混合和嵌套查询