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