CMysqlCommandBuilder
| Пакет | system.db.schema.mysql |
|---|---|
| Наследование | класс CMysqlCommandBuilder » CDbCommandBuilder » CComponent |
| С тех пор | 1.1.13 |
| Исходный код | framework/db/schema/mysql/CMysqlCommandBuilder.php |
CMysqlCommandBuilder предоставляет базовые методы для создания команд запросов для таблиц.
Общедоступные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| dbConnection | CDbConnection | соединение с базой данных. | CDbCommandBuilder |
| schema | CDbSchema | схема для этого генератора команд. | CDbCommandBuilder |
Защищенные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| integerPrimaryKeyDefaultValue | строка | Возвращает значение по умолчанию для целочисленного/последовательного первичного ключа. Значение по умолчанию означает, что следующее | CDbCommandBuilder |
Общедоступные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает метод с указанным именем, который не является методом класса. | CComponent |
| __construct() | CDbCommandBuilder | |
| __get() | Возвращает значение свойства, список обработчиков событий или поведение по его имени. | CComponent |
| __isset() | Проверяет, является ли значение свойства нулевым. | CComponent |
| __set() | Устанавливает значение свойства компонента. | CComponent |
| __unset() | Устанавливает свойство компонента в значение null. | CComponent |
| applyCondition() | Изменяет SQL для применения условия WHERE. | CDbCommandBuilder |
| applyGroup() | Изменяет SQL для применения GROUP BY. | CDbCommandBuilder |
| applyHaving() | Изменяет SQL для применения HAVING. | CDbCommandBuilder |
| applyJoin() | Изменяет SQL для применения условия JOIN. | CMysqlCommandBuilder |
| applyLimit() | Изменяет SQL для применения LIMIT и OFFSET. | CMysqlCommandBuilder |
| 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. | CDbCommandBuilder |
| 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() | Генерирует выражение для выбора строк со значениями составного ключа. | CDbCommandBuilder |
| ensureTable() | Проверяет, является ли параметр допустимой схемой таблицы. | CDbCommandBuilder |
| getIntegerPrimaryKeyDefaultValue() | Возвращает значение по умолчанию для целочисленного/последовательного первичного ключа. Значение по умолчанию означает, что следующее | CDbCommandBuilder |
Подробное описание методов
applyJoin() метод
public string applyJoin(string $sql, string $join) | ||
| $sql | строка | SQL-запрос, который необходимо изменить |
| $join | строка | часть JOIN (начиная с типа соединения, например, INNER JOIN) |
| {return} | строка | изменённый SQL-запрос |
Исходный код: framework/db/schema/mysql/CMysqlCommandBuilder.php#28 (показать)
public function applyJoin($sql,$join)
{
if($join=='')
return $sql;
if(strpos($sql,'UPDATE')===0 && ($pos=strpos($sql,'SET'))!==false)
return substr($sql,0,$pos).$join.' '.substr($sql,$pos);
elseif(strpos($sql,'DELETE FROM ')===0)
{
$tableName=substr($sql,12);
return "DELETE {$tableName} FROM {$tableName} ".$join;
}
else
return $sql.' '.$join;
}
Изменяет SQL-запрос для добавления условия JOIN. Этот метод обрабатывает специфику синтаксиса MySQL, где JOIN должен стоять перед SET в операторе UPDATE и после FROM в операторе DELETE.
applyLimit() метод
public string applyLimit(string $sql, integer $limit, integer $offset) | ||
| $sql | строка | SQL-запрос без LIMIT и OFFSET. |
| $limit | целое число | максимальное количество строк, -1 для игнорирования ограничения. |
| $offset | целое число | смещение строки, -1 для игнорирования смещения. |
| {return} | строка | SQL-запрос с LIMIT и OFFSET |
Исходный код: framework/db/schema/mysql/CMysqlCommandBuilder.php#51 (показать)
public function applyLimit($sql,$limit,$offset)
{
// Ugly, but this is how MySQL recommends doing it: https://dev.mysql.com/doc/refman/5.0/en/select.html
if($limit<=0 && $offset>0)
$limit=PHP_INT_MAX;
return parent::applyLimit($sql,$limit,$offset);
}
Изменяет SQL-запрос для добавления LIMIT и OFFSET.
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc/api/1.1/CMysqlCommandBuilder