zooxsmart/los-uql

PHP库,用于将URL查询转换为数据库部分查询

维护者

详细信息

github.com/zooxsmart/uql

主页

源代码

资助包维护!
Lansoweb

1.0.0 2024-02-02 16:22 UTC

This package is auto-updated.

Last update: 2024-08-31 00:28:09 UTC


README

Build Status Coverage Status Latest Stable Version Total Downloads License

此库利用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();
}

示例

您可以混合和嵌套查询

提示示例