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