Class Yiisoft\Db\QueryBuilder\Condition\Builder\ExistsBuilder
| Inheritance | Yiisoft\Db\QueryBuilder\Condition\Builder\ExistsBuilder |
|---|---|
| Implements | Yiisoft\Db\Expression\ExpressionBuilderInterface |
Build an object of Yiisoft\Db\QueryBuilder\Condition\Exists or Yiisoft\Db\QueryBuilder\Condition\NotExists into SQL expressions.
Public Methods
Method Details
| public __construct( Yiisoft\Db\QueryBuilder\QueryBuilderInterface $queryBuilder ): mixed | ||
| $queryBuilder | Yiisoft\Db\QueryBuilder\QueryBuilderInterface | |
public function __construct(private readonly QueryBuilderInterface $queryBuilder) {}
Build SQL for Yiisoft\Db\QueryBuilder\Condition\Exists or Yiisoft\Db\QueryBuilder\Condition\NotExists.
| public build( Yiisoft\Db\QueryBuilder\Condition\Exists|Yiisoft\Db\QueryBuilder\Condition\NotExists $expression, array &$params = [] ): string | ||
| $expression | Yiisoft\Db\QueryBuilder\Condition\Exists|Yiisoft\Db\QueryBuilder\Condition\NotExists | |
| $params | array | |
| throws | Yiisoft\Db\Exception\NotSupportedException | |
|---|---|---|
public function build(ExpressionInterface $expression, array &$params = []): string
{
$operator = match ($expression::class) {
Exists::class => 'EXISTS',
NotExists::class => 'NOT EXISTS',
};
$sql = $this->queryBuilder->buildExpression($expression->query, $params);
return "$operator $sql";
}
Signup or Login in order to comment.