Трейт SqlDialectTrait
Трейт диалекта SQL
Краткое описание методов
- _deleteQueryTranslator() protectedПрименяет шаги трансляции к запросам удаления.
- _expressionTranslators() protected
Возвращает ассоциативный массив методов, которые преобразуют объекты Expression в соответствии со спецификой диалекта SQL. Ключи — имена классов, значения — метод в этом классе.
- _insertQueryTranslator() protectedПрименяет шаги трансляции к запросам вставки.
- _removeAliasesFromConditions() protectedУдаляет псевдонимы из
WHEREусловия запроса. - _selectQueryTranslator() protectedПрименяет шаги трансляции к запросам выбора.
- _transformDistinct() protected
Возвращает переданный запрос после переписывания условия DISTINCT, чтобы драйверы, не поддерживающие часть «ON», могли предоставить фактический способ его выполнения.
- _updateQueryTranslator() protectedПрименяет шаги трансляции к запросам обновления.
- queryTranslator() public
Возвращает вызываемую функцию, которая будет использоваться для преобразования переданного объекта Query. Эта функция, в свою очередь, вернёт экземпляр объекта Query, преобразованного для учёта особенностей используемого диалекта SQL.
- quoteIdentifier() public
Приводит идентификатор базы данных (имя столбца, имя таблицы и т. д.) к формату, безопасному для использования в запросах, без риска применения ключевых слов.
- releaseSavePointSQL() publicВозвращает фрагмент SQL для освобождения ранее созданной точки сохранения.
- rollbackSavePointSQL() publicВозвращает фрагмент SQL для отката ранее созданной точки сохранения.
- savePointSQL() publicВозвращает фрагмент SQL для создания новой точки сохранения транзакции.
Подробное описание методов
_deleteQueryTranslator()source protected
_deleteQueryTranslator( Cake\Database\Query $query )
Применяет шаги трансляции к запросам удаления.
Удаляет псевдонимы из условий запросов удаления, так как большинство диалектов баз данных не поддерживают псевдонимы в запросах удаления. Также удаляются псевдонимы в именах таблиц, так как они часто тоже не работают.
Мы намеренно не поддерживаем удаления с объединениями, так как они ещё хуже поддерживаются.
Параметры
-
Cake\Database\Query$query - Запрос для трансляции
Возвращает
Cake\Database\QueryИзменённый запрос
_expressionTranslators()source protected
_expressionTranslators( )
Возвращает ассоциативный массив методов, которые преобразуют объекты Expression в соответствии со спецификой диалекта SQL. Ключи — имена классов, значения — метод в этом классе.
Возвращает
массив_insertQueryTranslator()source protected
_insertQueryTranslator( Cake\Database\Query $query )
Применяет шаги трансляции к запросам вставки.
Параметры
-
Cake\Database\Query$query - Запрос для трансляции
Возвращает
Cake\Database\QueryИзменённый запрос
_removeAliasesFromConditions()source protected
_removeAliasesFromConditions( Cake\Database\Query $query )
Удаляет псевдонимы из WHERE условия запроса.
Параметры
-
Cake\Database\Query$query - Запрос для обработки.
Возвращает
Cake\Database\QueryИзменённый запрос.
Исключения
RuntimeExceptionВ случае, если обработанный запрос содержит объединения, так как удаление псевдонимов из условий может нарушить ссылки на связанные таблицы.
_selectQueryTranslator()source protected
_selectQueryTranslator( Cake\Database\Query $query )
Применяет шаги трансляции к запросам выбора.
Параметры
-
Cake\Database\Query$query - Запрос для трансляции
Возвращает
Cake\Database\QueryИзменённый запрос
_transformDistinct()source protected
_transformDistinct( Cake\Database\Query $query )
Возвращает переданный запрос после переписывания условия DISTINCT, чтобы драйверы, не поддерживающие часть «ON», могли предоставить фактический способ его выполнения
Параметры
-
Cake\Database\Query$query - Запрос для преобразования
Возвращает
Cake\Database\Query_updateQueryTranslator()source protected
_updateQueryTranslator( Cake\Database\Query $query )
Применяет шаги трансляции к запросам обновления.
Удаляет псевдонимы из условий запросов обновления, так как не все диалекты баз данных поддерживают псевдонимы в запросах обновления.
Как и в случае с запросами удаления, объединения в настоящее время не поддерживаются для запросов обновления.
Параметры
-
Cake\Database\Query$query - Запрос для трансляции
Возвращает
Cake\Database\QueryИзменённый запрос
queryTranslator()source public
queryTranslator( string $type )
Возвращает вызываемую функцию, которая будет использоваться для преобразования переданного объекта Query. Эта функция, в свою очередь, вернёт экземпляр объекта Query, преобразованного для учёта особенностей используемого диалекта SQL.
Параметры
- строка
$type тип запроса для преобразования (select, insert, update, delete)
Возвращает
вызываемая функцияquoteIdentifier()source public
quoteIdentifier( string $identifier )
Приводит идентификатор базы данных (имя столбца, имя таблицы и т. д.) к формату, безопасному для использования в запросах, без риска применения ключевых слов
Параметры
- строка
$identifier - Идентификатор для приведения к нужному формату.
Возвращает
строкаreleaseSavePointSQL()source public
releaseSavePointSQL( string $name )
Возвращает фрагмент SQL для освобождения ранее созданной точки сохранения
Параметры
- строка
$name - имя точки сохранения
Возвращает
строкаrollbackSavePointSQL()source public
rollbackSavePointSQL( string $name )
Возвращает фрагмент SQL для отката ранее созданной точки сохранения
Параметры
- строка
$name - имя точки сохранения
Возвращает
строкаsavePointSQL()source public
savePointSQL( string $name )
Возвращает фрагмент SQL для создания новой точки сохранения транзакции
Параметры
- строка
$name - имя точки сохранения
Возвращает
строка
© 2005–2017 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/3.4/class-Cake.Database.SqlDialectTrait.html