Spec-Zone.ru › Yii 1.1

CPgsqlColumnSchema

Пакет system.db.schema.pgsql
Наследование класс CPgsqlColumnSchema » CDbColumnSchema » CComponent
С версии 1.0
Исходный код framework/db/schema/pgsql/CPgsqlColumnSchema.php
Класс CPgsqlColumnSchema описывает метаданные столбца таблицы PostgreSQL.

Общественные свойства

Свойство Тип Описание Определено в
allowNull boolean можно ли для этого столбца указать значение NULL. CDbColumnSchema
autoIncrement boolean является ли этот столбец автоинкрементируемым CDbColumnSchema
comment string комментарий к этому столбцу. CDbColumnSchema
dbType string тип данных БД для этого столбца. CDbColumnSchema
defaultValue mixed значение по умолчанию для этого столбца CDbColumnSchema
isForeignKey boolean является ли этот столбец внешним ключом CDbColumnSchema
isPrimaryKey boolean является ли этот столбец первичным ключом CDbColumnSchema
name string имя этого столбца (без кавычек). CDbColumnSchema
precision integer точность данных столбца, если это числовой тип. CDbColumnSchema
rawName string исходное имя столбца. CDbColumnSchema
scale integer разрядность данных столбца, если это числовой тип. CDbColumnSchema
size integer размер столбца. CDbColumnSchema
type string тип PHP для этого столбца. CDbColumnSchema

Общественные методы

Метод Описание Определено в
__call() Вызывает метод, который не является методом класса. CComponent
__get() Возвращает значение свойства, список обработчиков событий или поведение на основе его имени. CComponent
__isset() Проверяет, является ли значение свойства нулевым. CComponent
__set() Устанавливает значение свойства компонента. CComponent
__unset() Устанавливает свойство компонента в значение null. CComponent
asa() Возвращает объект поведения с заданным именем. CComponent
attachBehavior() Присоединяет поведение к этому компоненту. CComponent
attachBehaviors() Присоединяет список поведений к компоненту. CComponent
attachEventHandler() Присоединяет обработчик события к событию. CComponent
canGetProperty() Определяет, можно ли прочитать свойство. CComponent
canSetProperty() Определяет, можно ли установить свойство. CComponent
detachBehavior() Отсоединяет поведение от компонента. CComponent
detachBehaviors() Отсоединяет все поведения от компонента. CComponent
detachEventHandler() Отсоединяет существующий обработчик события. CComponent
disableBehavior() Отключает присоединенное поведение. CComponent
disableBehaviors() Отключает все присоединенные поведения этого компонента. CComponent
enableBehavior() Включает присоединенное поведение. CComponent
enableBehaviors() Включает все присоединенные поведения этого компонента. CComponent
evaluateExpression() Вычисляет выражение PHP или обратный вызов в контексте этого компонента. CComponent
getEventHandlers() Возвращает список присоединенных обработчиков событий для события. CComponent
hasEvent() Определяет, определено ли событие. CComponent
hasEventHandler() Проверяет, есть ли присоединенные обработчики для указанного события. CComponent
hasProperty() Определяет, определено ли свойство. CComponent
init() Инициализирует столбец своим типом БД и значением по умолчанию. CDbColumnSchema
raiseEvent() Вызывает событие. CComponent
typecast() Преобразует входное значение в тип, соответствующий этому столбцу. CDbColumnSchema

Защищенные методы

Метод Описание Определено в
extractDefault() Извлекает значение по умолчанию для столбца. CPgsqlColumnSchema
extractLimit() Извлекает информацию о размере, точности и разрядности из типа данных столбца БД. CPgsqlColumnSchema
extractType() Извлекает тип PHP из типа БД. CPgsqlColumnSchema

Подробное описание методов

extractDefault() метод

protected void extractDefault(mixed $defaultValue)
$defaultValue mixed значение по умолчанию, полученное из метаданных
Исходный код: framework/db/schema/pgsql/CPgsqlColumnSchema.php#65 (показать)
protected function extractDefault($defaultValue)
{
    if(
$defaultValue==='true')
        
$this->defaultValue=true;
    elseif(
$defaultValue==='false')
        
$this->defaultValue=false;
    elseif(
strpos($defaultValue,'nextval')===0)
        
$this->defaultValue=null;
    elseif(
preg_match('/^\'(.*)\'::/',$defaultValue,$matches))
        
$this->defaultValue=$this->typecast(str_replace("''","'",$matches[1]));
    elseif(
preg_match('/^(-?\d+(\.\d*)?)(::.*)?$/',$defaultValue,$matches))
        
$this->defaultValue=$this->typecast($matches[1]);
    
// else is null
}

Извлекает значение по умолчанию для столбца. Значение приводится к правильному типу PHP.

extractLimit() метод

protected void extractLimit(string $dbType)
$dbType string тип данных столбца БД
Исходный код: framework/db/schema/pgsql/CPgsqlColumnSchema.php#42 (показать)
protected function extractLimit($dbType)
{
    if(
strpos($dbType,'('))
    {
        if (
preg_match('/^time.*\((.*)\)/',$dbType,$matches))
        {
            
$this->precision=(int)$matches[1];
        }
        elseif (
preg_match('/\((.*)\)/',$dbType,$matches))
        {
            
$values=explode(',',$matches[1]);
            
$this->size=$this->precision=(int)$values[0];
            if(isset(
$values[1]))
                
$this->scale=(int)$values[1];
        }
    }
}

Извлекает информацию о размере, точности и масштабе из типа данных столбца БД.

extractType() метод

protected void extractType(string $dbType)
$dbType строка Тип данных БД
Исходный код: framework/db/schema/pgsql/CPgsqlColumnSchema.php#24 (показать)
protected function extractType($dbType)
{
    if(
strpos($dbType,'[')!==false || strpos($dbType,'char')!==false || strpos($dbType,'text')!==false)
        
$this->type='string';
    elseif(
strpos($dbType,'bool')!==false)
        
$this->type='boolean';
    elseif(
preg_match('/(real|float|double)/',$dbType))
        
$this->type='double';
    elseif(
preg_match('/(integer|oid|serial|smallint)/',$dbType))
        
$this->type='integer';
    else
        
$this->type='string';
}

Извлекает тип PHP из типа данных БД.

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc/api/1.1/CPgsqlColumnSchema

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API