Final Class Yiisoft\Data\Cycle\Reader\FilterHandler\LikeHandler\MysqlLikeHandler
Protected Properties
| Property | Type | Description | Defined By |
|---|---|---|---|
| $escapingReplacements | array | Yiisoft\Data\Cycle\Reader\FilterHandler\LikeHandler\BaseLikeHandler |
Public Methods
Protected Methods
| Method | Description | Defined By |
|---|---|---|
| prepareValue() | Yiisoft\Data\Cycle\Reader\FilterHandler\LikeHandler\BaseLikeHandler |
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 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)];
}
| public string getFilterClass ( ) |
#[\Override]
public function getFilterClass(): string
{
return Like::class;
}
| 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,
};
}
Signup or Login in order to comment.