0 follower

Final Class Yiisoft\Data\Cycle\Reader\FilterHandler\NotHandler

InheritanceYiisoft\Data\Cycle\Reader\FilterHandler\NotHandler
ImplementsYiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler

Method Details

Hide inherited methods

getAsWhereArguments() public method

public array getAsWhereArguments ( \Yiisoft\Data\Reader\FilterInterface $filter, array $handlers )
$filter \Yiisoft\Data\Reader\FilterInterface
$handlers array

                #[\Override]
public function getAsWhereArguments(FilterInterface $filter, array $handlers): array
{
    /** @var Not $filter */
    $convertedFilter = $this->convertFilter($filter->filter);
    $handledFilter = $convertedFilter instanceof Not ? $convertedFilter->filter : $convertedFilter;
    $handler = $handlers[$handledFilter::class] ?? null;
    if ($handler === null) {
        throw new NotSupportedFilterException($handledFilter::class);
    }
    $where = $handler->getAsWhereArguments($handledFilter, $handlers);
    if (!$convertedFilter instanceof Not) {
        return $where;
    }
    $operator = $where[1];
    $where[1] = match ($operator) {
        'between', 'in', 'like' => "not $operator",
        '=' => '!=',
        default => $operator,
    };
    return $where;
}

            
getFilterClass() public method

public string getFilterClass ( )

                #[\Override]
public function getFilterClass(): string
{
    return Not::class;
}