Final Class Yiisoft\Db\Pgsql\Builder\JsonValueBuilder
| Inheritance | Yiisoft\Db\Pgsql\Builder\JsonValueBuilder |
|---|---|
| Implements | Yiisoft\Db\Expression\ExpressionBuilderInterface |
Builds expressions for {@see Yiisoft\Db\Expression\Value\JsonValue} for PostgreSQL Server.
Public Methods
| Method | Description | Defined By |
|---|---|---|
| __construct() | Yiisoft\Db\Pgsql\Builder\JsonValueBuilder | |
| build() | The Method builds the raw SQL from the $expression that won't be additionally escaped or quoted. | Yiisoft\Db\Pgsql\Builder\JsonValueBuilder |
Method Details
| public mixed __construct ( \Yiisoft\Db\QueryBuilder\QueryBuilderInterface $queryBuilder ) | ||
| $queryBuilder | \Yiisoft\Db\QueryBuilder\QueryBuilderInterface | |
public function __construct(QueryBuilderInterface $queryBuilder)
{
$this->baseValueBuilder = new BaseJsonValueBuilder($queryBuilder);
}
The Method builds the raw SQL from the $expression that won't be additionally escaped or quoted.
| public string build ( \Yiisoft\Db\Expression\Value\JsonValue $expression, array &$params = [] ) | ||
| $expression | \Yiisoft\Db\Expression\Value\JsonValue |
The expression to build. |
| $params | array |
The binding parameters. |
| return | string |
The raw SQL that won't be additionally escaped or quoted. |
|---|---|---|
public function build(ExpressionInterface $expression, array &$params = []): string
{
$statement = $this->baseValueBuilder->build($expression, $params);
if ($expression->value instanceof ArrayValue) {
$statement = 'array_to_json(' . $statement . ')';
}
return $statement . $this->getTypeHint($expression);
}
Signup or Login in order to comment.