0 follower

Abstract Class Yiisoft\Data\Cycle\Reader\FilterHandler\LikeHandler\BaseLikeHandler

InheritanceYiisoft\Data\Cycle\Reader\FilterHandler\LikeHandler\BaseLikeHandler
ImplementsYiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler
SubclassesYiisoft\Data\Cycle\Reader\FilterHandler\LikeHandler\MysqlLikeHandler, Yiisoft\Data\Cycle\Reader\FilterHandler\LikeHandler\PostgresLikeHandler, Yiisoft\Data\Cycle\Reader\FilterHandler\LikeHandler\SqlServerLikeHandler, Yiisoft\Data\Cycle\Reader\FilterHandler\LikeHandler\SqliteLikeHandler

Property Details

Hide inherited properties

$escapingReplacements protected property
protected array $escapingReplacements = [
    
'%' => '\%',
    
'_' => '\_',
    
'\\' => '\\\\',
]

Method Details

Hide inherited methods

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

                public function getAsWhereArguments(FilterInterface $filter, array $handlers): array;

            
getFilterClass() public method

public string getFilterClass ( )

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

            
prepareValue() protected method

protected string prepareValue ( string|\Stringable $value, \Yiisoft\Data\Reader\Filter\LikeMode $mode )
$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,
    };
}