0 follower

Final Class Yiisoft\Db\Oracle\Builder\LikeBuilder

InheritanceYiisoft\Db\Oracle\Builder\LikeBuilder » Yiisoft\Db\QueryBuilder\Condition\Builder\LikeBuilder

Build an object of Like into SQL expressions for Oracle Server.

Protected Properties

Hide inherited properties

Property Type Description Defined By
$escapingReplacements array \ is initialized in buildLike() method since there is a need to choose replacement value based on Quoter::quoteValue(). Yiisoft\Db\Oracle\Builder\LikeBuilder

Public Methods

Hide inherited methods

Method Description Defined By
__construct() Yiisoft\Db\Oracle\Builder\LikeBuilder

Constants

Hide inherited constants

Constant Value Description Defined By
ESCAPE_SQL " ESCAPE '!'" Yiisoft\Db\Oracle\Builder\LikeBuilder

Property Details

Hide inherited properties

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

Method Details

Hide inherited methods

__construct() public method

public __construct( \Yiisoft\Db\QueryBuilder\QueryBuilderInterface $queryBuilder ): mixed
$queryBuilder \Yiisoft\Db\QueryBuilder\QueryBuilderInterface

                public function __construct(
    private readonly QueryBuilderInterface $queryBuilder,
) {
    parent::__construct($queryBuilder);
    /**
     * Different pdo_oci8 versions may or may not implement `PDO::quote()`, so {@see Quoter::quoteValue()} may or
     * may not quote `\`.
     */
    $this->escapingReplacements['\\'] = substr($this->queryBuilder->getQuoter()->quoteValue('\\'), 1, -1);
}

            
prepareColumn() protected method

protected prepareColumn( \Yiisoft\Db\QueryBuilder\Condition\Like|\Yiisoft\Db\QueryBuilder\Condition\NotLike $condition, array &$params ): string
$condition \Yiisoft\Db\QueryBuilder\Condition\Like|\Yiisoft\Db\QueryBuilder\Condition\NotLike
$params array

                protected function prepareColumn(Like|NotLike $condition, array &$params): string
{
    $column = parent::prepareColumn($condition, $params);
    if ($condition->caseSensitive === false) {
        $column = 'LOWER(' . $column . ')';
    }
    return $column;
}

            
preparePlaceholderName() protected method

protected preparePlaceholderName( string|\Stringable|integer|\Yiisoft\Db\Expression\ExpressionInterface $value, \Yiisoft\Db\QueryBuilder\Condition\Like|\Yiisoft\Db\QueryBuilder\Condition\NotLike $condition, array &$params ): string
$value string|\Stringable|integer|\Yiisoft\Db\Expression\ExpressionInterface
$condition \Yiisoft\Db\QueryBuilder\Condition\Like|\Yiisoft\Db\QueryBuilder\Condition\NotLike
$params array

                protected function preparePlaceholderName(
    string|Stringable|int|ExpressionInterface $value,
    Like|NotLike $condition,
    array &$params,
): string {
    $placeholderName = parent::preparePlaceholderName($value, $condition, $params);
    if ($condition->caseSensitive === false) {
        $placeholderName = 'LOWER(' . $placeholderName . ')';
    }
    return $placeholderName;
}