0 follower

Final Class Yiisoft\Data\Cycle\Reader\FilterHandler\LikeHandler\PostgresLikeHandler

InheritanceYiisoft\Data\Cycle\Reader\FilterHandler\LikeHandler\PostgresLikeHandler » Yiisoft\Data\Cycle\Reader\FilterHandler\LikeHandler\BaseLikeHandler
ImplementsYiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler

Method Details

Hide inherited methods

getAsWhereArguments() public method

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

                #[Override]
public function getAsWhereArguments(FilterInterface $filter, array $handlers): array
{
    /** @var Like $filter */
    if ($filter->caseSensitive !== true) {
        return [$filter->field, 'ilike', $this->prepareValue($filter->value, $filter->mode)];
    }
    return [$filter->field, 'like', $this->prepareValue($filter->value, $filter->mode)];
}

            
getFilterClass() public method
public getFilterClass( ): string

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

            
prepareValue() protected method
protected prepareValue( string|\Stringable $value, \Yiisoft\Data\Reader\Filter\LikeMode $mode ): string
$value string|\Stringable
$mode \Yiisoft\Data\Reader\Filter\LikeMode

                protected function prepareValue(string|Stringable $value, LikeMode $mode): string
{
    $value = strtr((string) $value, $this->escapingReplacements);
    return match ($mode) {
        LikeMode::Contains => '%' . $value . '%',
        LikeMode::StartsWith => $value . '%',
        LikeMode::EndsWith => '%' . $value,
    };
}