Class yii\db\conditions\BetweenConditionBuilder
Inheritance | yii\db\conditions\BetweenConditionBuilder |
---|---|
Implements | yii\db\ExpressionBuilderInterface |
Uses Traits | yii\db\ExpressionBuilderTrait |
Available since version | 2.0.14 |
Source Code | https://github.com/yiisoft/yii2/blob/master/framework/db/conditions/BetweenConditionBuilder.php |
Class BetweenConditionBuilder builds objects of yii\db\conditions\BetweenCondition
Protected Properties
Property | Type | Description | Defined By |
---|---|---|---|
$queryBuilder | yii\db\QueryBuilder | yii\db\ExpressionBuilderTrait |
Public Methods
Method | Description | Defined By |
---|---|---|
__construct() | ExpressionBuilderTrait constructor. | yii\db\ExpressionBuilderTrait |
build() | Method builds the raw SQL from the $expression that will not be additionally escaped or quoted. | yii\db\conditions\BetweenConditionBuilder |
Protected Methods
Method | Description | Defined By |
---|---|---|
createPlaceholder() | Attaches $value to $params array and returns placeholder. | yii\db\conditions\BetweenConditionBuilder |
Method Details
Defined in: yii\db\ExpressionBuilderTrait::__construct()
ExpressionBuilderTrait constructor.
public void __construct ( yii\db\QueryBuilder $queryBuilder ) | ||
$queryBuilder | yii\db\QueryBuilder |
public function __construct(QueryBuilder $queryBuilder)
{
$this->queryBuilder = $queryBuilder;
}
Method builds the raw SQL from the $expression that will not be additionally escaped or quoted.
public string build ( yii\db\ExpressionInterface $expression, array &$params = [] ) | ||
$expression | yii\db\ExpressionInterface|yii\db\conditions\BetweenCondition |
The expression to be built. |
$params | array |
The binding parameters. |
return | string |
The raw SQL that will not be additionally escaped or quoted. |
---|
public function build(ExpressionInterface $expression, array &$params = [])
{
$operator = $expression->getOperator();
$column = $expression->getColumn();
if (strpos($column, '(') === false) {
$column = $this->queryBuilder->db->quoteColumnName($column);
}
$phName1 = $this->createPlaceholder($expression->getIntervalStart(), $params);
$phName2 = $this->createPlaceholder($expression->getIntervalEnd(), $params);
return "$column $operator $phName1 AND $phName2";
}
Attaches $value to $params array and returns placeholder.
protected string createPlaceholder ( $value, &$params ) | ||
$value | mixed | |
$params | array |
Passed by reference |
protected function createPlaceholder($value, &$params)
{
if ($value instanceof ExpressionInterface) {
return $this->queryBuilder->buildExpression($value, $params);
}
return $this->queryBuilder->bindParam($value, $params);
}