0 follower

Final Class Yiisoft\Db\Pgsql\Column\NumRangeColumn

InheritanceYiisoft\Db\Pgsql\Column\NumRangeColumn » Yiisoft\Db\Pgsql\Column\AbstractRangeColumn » Yiisoft\Db\Schema\Column\AbstractColumn

Constants

Hide inherited constants

Constant Value Description Defined By
DEFAULT_TYPE \Yiisoft\Db\Pgsql\Constant\PgsqlColumnType::NUMRANGE Yiisoft\Db\Pgsql\Column\NumRangeColumn

Method Details

Hide inherited methods

createRangeValue() protected method

protected Yiisoft\Db\Pgsql\Expression\NumRangeValue createRangeValue ( ?string $lower, ?string $upper, boolean $includeLower, boolean $includeUpper )
$lower ?string
$upper ?string
$includeLower boolean
$includeUpper boolean

                protected function createRangeValue(?string $lower, ?string $upper, bool $includeLower, bool $includeUpper): NumRangeValue
{
    $column = $this->getBoundColumn();
    return new NumRangeValue(
        $column->phpTypecast($lower),
        $column->phpTypecast($upper),
        $includeLower,
        $includeUpper,
    );
}

            
dbTypecast() public method
public string|\Yiisoft\Db\Expression\ExpressionInterface|null dbTypecast ( mixed $value )
$value mixed

                public function dbTypecast(mixed $value): mixed
{
    if ($value === null
        || is_string($value)
        || $value instanceof ExpressionInterface) {
        return $value;
    }
    if (!is_array($value)) {
        $this->throwWrongTypeException(gettype($value));
    }
    if (array_keys($value) !== [0, 1]) {
        throw new InvalidArgumentException(
            'Value of range should be an array with two elements: lower and upper bounds.',
        );
    }
    [$lower, $upper] = $value;
    $boundColumn = $this->getBoundColumn();
    return '['
        . $this->prepareBoundValue($boundColumn->dbTypecast($lower))
        . ','
        . $this->prepareBoundValue($boundColumn->dbTypecast($upper))
        . ']';
}

            
getBoundColumn() protected method

protected \Yiisoft\Db\Schema\Column\DoubleColumn getBoundColumn ( )

                protected function getBoundColumn(): DoubleColumn
{
    return RangeBoundColumnFactory::num();
}

            
phpTypecast() public method

public ?\Yiisoft\Db\Pgsql\Expression\NumRangeValue phpTypecast ( mixed $value )
$value mixed

                public function phpTypecast(mixed $value): ?NumRangeValue
{
    return parent::phpTypecast($value);
}