0 follower

Class Yiisoft\Db\QueryBuilder\Condition\Builder\ExistsBuilder

InheritanceYiisoft\Db\QueryBuilder\Condition\Builder\ExistsBuilder
ImplementsYiisoft\Db\Expression\ExpressionBuilderInterface

Method Details

Hide inherited methods

__construct() public method

public __construct( Yiisoft\Db\QueryBuilder\QueryBuilderInterface $queryBuilder ): mixed
$queryBuilder Yiisoft\Db\QueryBuilder\QueryBuilderInterface

                public function __construct(private readonly QueryBuilderInterface $queryBuilder) {}

            
build() public method
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";
}