Spec-Zone.ru › Yii 1.1

CSqliteCommandBuilder

Пакет system.db.schema.sqlite
Наследование класс CSqliteCommandBuilder » CDbCommandBuilder » CComponent
С версии 1.0
Исходный код framework/db/schema/sqlite/CSqliteCommandBuilder.php
CSqliteCommandBuilder предоставляет базовые методы для создания команд запросов для таблиц SQLite.

Публичные свойства

Свойство Тип Описание Определено в
dbConnection CDbConnection соединение с базой данных. CDbCommandBuilder
schema CDbSchema схема для этого билдера команд. CDbCommandBuilder

Защищенные свойства

Свойство Тип Описание Определено в
integerPrimaryKeyDefaultValue строка Возвращает значение по умолчанию для целочисленного/последовательного первичного ключа. Значение по умолчанию означает, что следующее CDbCommandBuilder

Публичные методы

Метод Описание Определено в
__call() Вызывает метод с указанным именем, который не является методом класса. CComponent
__construct() CDbCommandBuilder
__get() Возвращает значение свойства, список обработчиков событий или поведение по его имени. CComponent
__isset() Проверяет, является ли значение свойства null. CComponent
__set() Устанавливает значение свойства компонента. CComponent
__unset() Устанавливает свойство компонента в null. CComponent
applyCondition() Изменяет SQL для применения условия WHERE. CDbCommandBuilder
applyGroup() Изменяет SQL для применения GROUP BY. CDbCommandBuilder
applyHaving() Изменяет SQL для применения HAVING. CDbCommandBuilder
applyJoin() Изменяет SQL для применения условия JOIN. CDbCommandBuilder
applyLimit() Изменяет SQL для применения LIMIT и OFFSET. CDbCommandBuilder
applyOrder() Изменяет SQL для применения ORDER BY. CDbCommandBuilder
asa() Возвращает объект поведения с указанным именем. CComponent
attachBehavior() Присоединяет поведение к этому компоненту. CComponent
attachBehaviors() Присоединяет список поведений к компоненту. CComponent
attachEventHandler() Присоединяет обработчик событий к событию. CComponent
bindValues() Привязывает значения параметров для SQL-команды. CDbCommandBuilder
canGetProperty() Определяет, можно ли считать свойство. CComponent
canSetProperty() Определяет, можно ли установить свойство. CComponent
createColumnCriteria() Создаёт критерии запроса со значениями указанных столбцов. CDbCommandBuilder
createCountCommand() Создаёт команду COUNT(*) для одной таблицы. CDbCommandBuilder
createCriteria() Создаёт критерии запроса. CDbCommandBuilder
createDeleteCommand() Создаёт команду DELETE. CDbCommandBuilder
createFindCommand() Создаёт команду SELECT для одной таблицы. CDbCommandBuilder
createInCondition() Генерирует выражение для выбора строк со значениями указанных первичных ключей. CDbCommandBuilder
createInsertCommand() Создаёт команду INSERT. CDbCommandBuilder
createMultipleInsertCommand() Создаёт команду INSERT для нескольких строк. CSqliteCommandBuilder
createPkCondition() Генерирует выражение для выбора строк со значениями указанных первичных ключей. CDbCommandBuilder
createPkCriteria() Создаёт критерии запроса с указанным первичным ключом. CDbCommandBuilder
createSearchCondition() Генерирует выражение для поиска указанных ключевых слов в списке столбцов. CDbCommandBuilder
createSqlCommand() Создаёт команду на основе заданного SQL-запроса. CDbCommandBuilder
createUpdateCommand() Создаёт команду UPDATE. CDbCommandBuilder
createUpdateCounterCommand() Создаёт команду UPDATE, которая увеличивает/уменьшает определённые столбцы. CDbCommandBuilder
detachBehavior() Отсоединяет поведение от компонента. CComponent
detachBehaviors() Отсоединяет все поведения от компонента. CComponent
detachEventHandler() Отсоединяет существующий обработчик событий. CComponent
disableBehavior() Отключает присоединённое поведение. CComponent
disableBehaviors() Отключает все присоединённые к этому компоненту поведения. CComponent
enableBehavior() Включает присоединённое поведение. CComponent
enableBehaviors() Включает все присоединённые к этому компоненту поведения. CComponent
evaluateExpression() Вычисляет PHP-выражение или обратный вызов в контексте этого компонента. CComponent
getDbConnection() Возвращает соединение с базой данных. CDbCommandBuilder
getEventHandlers() Возвращает список присоединённых обработчиков событий для события. CComponent
getLastInsertID() Возвращает последний ID вставки для указанной таблицы. CDbCommandBuilder
getSchema() Возвращает схему для этого билдера команд. CDbCommandBuilder
hasEvent() Определяет, определено ли событие. CComponent
hasEventHandler() Проверяет, есть ли присоединённые обработчики для указанного события. CComponent
hasProperty() Определяет, определено ли свойство. CComponent
raiseEvent() Вызывает событие. CComponent

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

Метод Описание Определено в
composeMultipleInsertCommand() Создает команду INSERT для множества строк. CDbCommandBuilder
createCompositeInCondition() Генерирует выражение для выбора строк с заданными значениями составного ключа. CSqliteCommandBuilder
ensureTable() Проверяет, является ли параметр допустимой схемой таблицы. CDbCommandBuilder
getIntegerPrimaryKeyDefaultValue() Возвращает значение по умолчанию для целочисленного/последовательного первичного ключа. Значение по умолчанию означает, что следующее CDbCommandBuilder

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

createCompositeInCondition() метод

protected string createCompositeInCondition(CDbTableSchema $table, array $values, string $prefix)
$table CDbTableSchema схема таблицы
$values массив список значений первичного ключа для выбора
$prefix строка префикс столбца (заканчивается точкой)
{return} строка выражение для выбора
Исходный код: framework/db/schema/sqlite/CSqliteCommandBuilder.php#29 (показать)
protected function createCompositeInCondition($table,$values,$prefix)
{
    
$keyNames=array();
    foreach(
array_keys($values[0]) as $name)
        
$keyNames[]=$prefix.$table->columns[$name]->rawName;
    
$vs=array();
    foreach(
$values as $value)
        
$vs[]=implode("||','||",$value);
    return 
implode("||','||",$keyNames).' IN ('.implode(', ',$vs).')';
}

Генерирует выражение для выбора строк с заданными значениями составного ключа. Этот метод переопределен, так как SQLite не поддерживает стандартное выражение IN для составных столбцов.

createMultipleInsertCommand() метод (доступен начиная с v1.1.14)

public CDbCommand createMultipleInsertCommand(mixed $table, array $data)
$table смешанный тип схема таблицы (CDbTableSchema) или имя таблицы (строка).
$data массив список данных для вставки, каждое значение должно быть массивом в формате (имя столбца=>значение столбца). Если ключ не является допустимым именем столбца, соответствующее значение будет проигнорировано.
{return} CDbCommand команда множественной вставки
Исходный код: framework/db/schema/sqlite/CSqliteCommandBuilder.php#51 (показать)
public function createMultipleInsertCommand($table,array $data)
{
    
$templates=array(
        
'main'=>'INSERT INTO {{tableName}} ({{columnInsertNames}}) {{rowInsertValues}}',
        
'columnInsertValue'=>'{{value}} AS {{column}}',
        
'columnInsertValueGlue'=>', ',
        
'rowInsertValue'=>'SELECT {{columnInsertValues}}',
        
'rowInsertValueGlue'=>' UNION ',
        
'columnInsertNameGlue'=>', ',
    );
    return 
$this->composeMultipleInsertCommand($table,$data,$templates);
}

Создает команду множественной вставки. Этот метод может использоваться для повышения производительности при вставке большого количества данных в таблицы базы данных. Обратите внимание, что SQLite не сохраняет исходный порядок вставленных строк.

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

Spec-Zone.ru

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