los/uql

将URL查询转换为数据库部分查询的PHP库

资助包维护!
Lansoweb

1.2.0 2023-09-19 17:34 UTC

This package is auto-updated.

Last update: 2024-09-19 19:37:58 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();
}

示例

您可以混合和嵌套查询

提示示例