クラス yii\db\oci\conditions\LikeConditionBuilder
公開メソッド
メソッド | 説明 | 定義元 |
---|---|---|
__construct() | ExpressionBuilderTrait コンストラクタ。 | yii\db\ExpressionBuilderTrait |
build() | このメソッドは、追加でエスケープやクォートされない$expressionから生のSQLを構築します。 | yii\db\oci\conditions\LikeConditionBuilder |
プロパティの詳細
LIKE条件で特殊文字をエスケープするために使用される文字。デフォルトでは\
と見なされます。
{@inheritdoc}
メソッドの詳細
定義元: yii\db\ExpressionBuilderTrait::__construct()
ExpressionBuilderTrait コンストラクタ。
public void __construct ( yii\db\QueryBuilder $queryBuilder ) | ||
$queryBuilder | yii\db\QueryBuilder |
public function __construct(QueryBuilder $queryBuilder)
{
$this->queryBuilder = $queryBuilder;
}
このメソッドは、追加でエスケープやクォートされない$expressionから生のSQLを構築します。
public string build ( yii\db\ExpressionInterface $expression, array &$params = [] ) | ||
$expression | yii\db\ExpressionInterface|yii\db\conditions\LikeCondition |
構築する式。 |
$params | 配列 |
バインドパラメータ。 |
戻り値 | 文字列 |
追加でエスケープやクォートされない生のSQL。 |
---|
public function build(ExpressionInterface $expression, array &$params = [])
{
if (!isset($this->escapingReplacements['\\'])) {
/*
* Different pdo_oci8 versions may or may not implement PDO::quote(), so
* yii\db\Schema::quoteValue() may or may not quote \.
*/
$this->escapingReplacements['\\'] = substr($this->queryBuilder->db->quoteValue('\\'), 1, -1);
}
return parent::build($expression, $params);
}
protected array parseOperator ( $operator ) | ||
$operator | 文字列 |
protected function parseOperator($operator)
{
if (!preg_match('/^(AND |OR |)(((NOT |))I?LIKE)/', $operator, $matches)) {
throw new InvalidArgumentException("Invalid operator '$operator'.");
}
$andor = ' ' . (!empty($matches[1]) ? $matches[1] : 'AND ');
$not = !empty($matches[3]);
$operator = $matches[2];
return [$andor, $not, $operator];
}
コメントするにはサインアップまたはログインしてください。