0 follower

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

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

Method Details

Hide inherited methods

__construct() public method

public __construct( ): mixed

                public function __construct()
{
    unset($this->escapingReplacements['\\']);
}

            
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) {
        throw new NotSupportedFilterOptionException(optionName: 'caseSensitive', driverType: 'SQLServer');
    }
    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,
    };
}