Final Class Yiisoft\Data\Cycle\Reader\FilterHandler\NotHandler
| Inheritance | Yiisoft\Data\Cycle\Reader\FilterHandler\NotHandler |
|---|---|
| Implements | Yiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler |
Public Methods
| Method | Description | Defined By |
|---|---|---|
| getAsWhereArguments() | Yiisoft\Data\Cycle\Reader\FilterHandler\NotHandler | |
| getFilterClass() | Yiisoft\Data\Cycle\Reader\FilterHandler\NotHandler |
Method Details
| 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;
}
| public string getFilterClass ( ) |
#[\Override]
public function getFilterClass(): string
{
return Not::class;
}
Signup or Login in order to comment.