brinda/abstract-filter-query

该软件包最新版本(dev-master)没有提供许可证信息。

抽象过滤器查询库,用于仅使用一个查询构建器(SQL、Youtrack搜索、jql...)进行全球所有过滤器

dev-master 2022-05-06 13:46 UTC

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);