brinda / abstract-filter-query
该软件包最新版本(dev-master)没有提供许可证信息。
抽象过滤器查询库,用于仅使用一个查询构建器(SQL、Youtrack搜索、jql...)进行全球所有过滤器
dev-master
2022-05-06 13:46 UTC
Requires
- php: ^8.0.0
- ext-mbstring: *
Requires (Dev)
- phpunit/phpunit: 9.2.3
This package is auto-updated.
Last update: 2024-09-06 19:07:17 UTC
README
该库允许您从各种查询构建器中抽象出来,并使用一个通用接口来处理所有操作。为此,您只需编写自己的快捷键,它将从 AFQ\Converter\AbstractConverter 继承。
以下是其使用示例
<?php use AFQ\Block\AndFilterBlock; use AFQ\Comparison\Equal; use AFQ\Comparison\In; use AFQ\Converter\FilterBlockToSqlWhereConverter; use AFQ\Converter\FilterBlockToYoutrackConverter; use AFQ\FilterQuery; use AFQ\Sorting\Sorting; require_once '../vendor/autoload.php'; $queryFilter = new FilterQuery(); $queryFilter->setFilterBlock(new AndFilterBlock([ new Equal('someKey', 'someValue'), new In('someKey2', ['value1', 'value2', 'value3']) ])); $queryFilter->setSorting((new Sorting([ ['someKey', Sorting::DESC], ['someKey2', Sorting::ASC] ]))); $sqlConverter = new FilterBlockToSqlWhereConverter(); $ytConverter = new FilterBlockToYoutrackConverter(); echo "Sql will be:\n"; echo $sqlConverter->convertFilterQuery($queryFilter); echo "\n\n"; echo "Youtrack will be:\n"; echo $ytConverter->convertFilterQuery($queryFilter);