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 mixed __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|yii\db\conditions\BetweenCondition $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 ( mixed $value, array &$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); }
Signup or Login in order to comment.