0 follower

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

InheritanceYiisoft\Data\Cycle\Reader\FilterHandler\LikeHandler\MysqlLikeHandler » Yiisoft\Data\Cycle\Reader\FilterHandler\LikeHandler\BaseLikeHandler
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 Like $filter */
    if ($filter->caseSensitive !== true) {
        return [$filter->field, 'like', $this->prepareValue($filter->value, $filter->mode)];
    }
    return [$filter->field, 'like binary', $this->prepareValue($filter->value, $filter->mode)];
}

            
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,
    };
}