# InConditionBuilder

> Builds objects of yii\db\conditions\InCondition.

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

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

Builds objects of [`InCondition`](/docs/api/yii/db/conditions/incondition/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. | `InConditionBuilder` |
| <span id="method-buildCompositeInCondition"></span>[`buildCompositeInCondition()`](/docs/api/yii/db/conditions/inconditionbuilder/index.md#method-buildCompositeInCondition) protected | Builds SQL for composite IN condition. | [`yii\db\conditions\InConditionBuilder`](/docs/api/yii/db/conditions/inconditionbuilder/index.md) |
| <span id="method-buildSubqueryInCondition"></span>[`buildSubqueryInCondition()`](/docs/api/yii/db/conditions/inconditionbuilder/index.md#method-buildSubqueryInCondition) protected | Builds SQL for IN condition. | [`yii\db\conditions\InConditionBuilder`](/docs/api/yii/db/conditions/inconditionbuilder/index.md) |
| <span id="method-buildValues"></span>[`buildValues()`](/docs/api/yii/db/conditions/inconditionbuilder/index.md#method-buildValues) protected | Builds values to be used in [`InCondition`](/docs/api/yii/db/conditions/incondition/index.md). | [`yii\db\conditions\InConditionBuilder`](/docs/api/yii/db/conditions/inconditionbuilder/index.md) |
| <span id="method-getNotEqualOperator"></span>[`getNotEqualOperator()`](/docs/api/yii/db/conditions/inconditionbuilder/index.md#method-getNotEqualOperator) protected | Returns inequality operator for decomposed `NOT IN` conditions. | [`yii\db\conditions\InConditionBuilder`](/docs/api/yii/db/conditions/inconditionbuilder/index.md) |
| <span id="method-getNullCondition"></span>[`getNullCondition()`](/docs/api/yii/db/conditions/inconditionbuilder/index.md#method-getNullCondition) protected | Builds `IS NULL` / `IS NOT NULL` condition for a scalar column based on the operator. | [`yii\db\conditions\InConditionBuilder`](/docs/api/yii/db/conditions/inconditionbuilder/index.md) |
| [`splitCondition()`](#method-splitCondition) protected | Oracle DBMS does not support more than 1000 parameters in `IN` condition. | `InConditionBuilder` |

## Method details

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

```php
public function build(yii\db\ExpressionInterface|yii\db\conditions\InCondition $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)`\|`[`yii\db\conditions\InCondition`](/docs/api/yii/db/conditions/incondition/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.

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

```php
protected function splitCondition(yii\db\conditions\InCondition $condition, array &$params): string|null
```

Oracle DBMS does not support more than 1000 parameters in `IN` condition.

This method splits long `IN` condition into series of smaller ones.

**Parameters**

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

**Returns**

`string|null`: Null when split is not required. Otherwise - built SQL condition.