# BetweenColumnsConditionBuilder

> Class BetweenColumnsConditionBuilder builds objects of yii\db\conditions\BetweenColumnsCondition

[API reference](/docs/api/index.md) › [yii](/docs/api/yii/index.md) › [db](/docs/api/yii/db/index.md) › [conditions](/docs/api/yii/db/conditions/index.md) › BetweenColumnsConditionBuilder

| class | `yii\db\conditions\BetweenColumnsConditionBuilder` |
| --- | --- |
| Implements | [`yii\db\ExpressionBuilderInterface`](/docs/api/yii/db/expressionbuilderinterface/index.md) |
| Uses traits | [`yii\db\ExpressionBuilderTrait`](/docs/api/yii/db/expressionbuildertrait/index.md) |
| Since | 2.0.14 |
| Source | [`framework/db/conditions/BetweenColumnsConditionBuilder.php`](https://github.com/yiisoft/yii2/blob/22.0/framework/db/conditions/BetweenColumnsConditionBuilder.php#L22) |

Class BetweenColumnsConditionBuilder builds objects of [`BetweenColumnsCondition`](/docs/api/yii/db/conditions/betweencolumnscondition/index.md)

## Properties

| Property | Type | Description | Defined by |
| --- | --- | --- | --- |
| <span id="property-queryBuilder"></span>[`$queryBuilder`](/docs/api/yii/db/expressionbuildertrait/index.md#property-queryBuilder) protected | [`yii\db\QueryBuilder`](/docs/api/yii/db/querybuilder/index.md) | Default: `null`. | [`yii\db\ExpressionBuilderTrait`](/docs/api/yii/db/expressionbuildertrait/index.md) |

## Methods

| Method | Description | Defined by |
| --- | --- | --- |
| <span id="method-__construct"></span>[`__construct()`](/docs/api/yii/db/expressionbuildertrait/index.md#method-__construct) | ExpressionBuilderTrait constructor. | [`yii\db\ExpressionBuilderTrait`](/docs/api/yii/db/expressionbuildertrait/index.md) |
| [`build()`](#method-build) | Method builds the raw SQL from the $expression that will not be additionally escaped or quoted. | `BetweenColumnsConditionBuilder` |
| [`createPlaceholder()`](#method-createPlaceholder) protected | Attaches $value to $params array and returns placeholder. | `BetweenColumnsConditionBuilder` |
| [`escapeColumnName()`](#method-escapeColumnName) protected | Prepares column name to be used in SQL statement. | `BetweenColumnsConditionBuilder` |

## Method details

### build() <span id="method-build"></span>

```php
public function build(yii\db\ExpressionInterface|yii\db\conditions\BetweenColumnsCondition $expression, array &$params = []): string
```

Method builds the raw SQL from the $expression that will not be additionally
escaped or quoted.

**Parameters**

| Parameter | Type | Description |
| --- | --- | --- |
| `$expression` | [`yii\db\ExpressionInterface`](/docs/api/yii/db/expressioninterface/index.md)`\|`[`BetweenColumnsCondition`](/docs/api/yii/db/conditions/betweencolumnscondition/index.md) | The expression to be built. |
| `$params` | `array` | The binding parameters. |

**Returns**

`string`: The raw SQL that will not be additionally escaped or quoted.

### createPlaceholder() <span id="method-createPlaceholder"></span>

```php
protected function createPlaceholder(mixed $value, array &$params): string
```

Attaches $value to $params array and returns placeholder.

**Parameters**

| Parameter | Type | Description |
| --- | --- | --- |
| `$value` | `mixed` |  |
| `$params` | `array` | Passed by reference |

**Returns**

`string`

### escapeColumnName() <span id="method-escapeColumnName"></span>

```php
protected function escapeColumnName(yii\db\Query|yii\db\ExpressionInterface|string $columnName, array &$params = []): string
```

Prepares column name to be used in SQL statement.

**Parameters**

| Parameter | Type | Description |
| --- | --- | --- |
| `$columnName` | [`yii\db\Query`](/docs/api/yii/db/query/index.md)`\|`[`yii\db\ExpressionInterface`](/docs/api/yii/db/expressioninterface/index.md)`\|string` |  |
| `$params` | `array` | The binding parameters. |

**Returns**

`string`