0 follower

Class Yiisoft\Db\QueryBuilder\Condition\Builder\SimpleBuilder

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

Build an object of {@see Simple} into SQL expressions.

Method Details

Hide inherited methods

__construct() public method

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

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

            
build() public method

Build SQL for {@see Simple}.

public string build ( Yiisoft\Db\QueryBuilder\Condition\Simple $expression, array &$params = [] )
$expression Yiisoft\Db\QueryBuilder\Condition\Simple
$params array
throws Yiisoft\Db\Exception\NotSupportedException

                public function build(ExpressionInterface $expression, array &$params = []): string
{
    $operator = $expression->operator;
    $column = $expression->column;
    $value = $expression->value;
    $column = $column instanceof ExpressionInterface
        ? $this->queryBuilder->buildExpression($column, $params)
        : $this->queryBuilder->getQuoter()->quoteColumnName($column);
    if ($value === null) {
        return "$column $operator NULL";
    }
    if ($value instanceof ExpressionInterface) {
        return "$column $operator {$this->queryBuilder->buildExpression($value, $params)}";
    }
    return "$column $operator {$this->queryBuilder->buildValue($value, $params)}";
}