Трейт 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() protected
_deleteQueryTranslator(Cake\Database\Query $query): Cake\Database\Query
Применить шаги трансляции к запросам удаления.
Удаляет псевдонимы из условий запроса на удаление, так как большинство диалектов баз данных не поддерживают псевдонимы в запросах на удаление. Это также удаляет псевдонимы в именах таблиц, поскольку они часто также не работают.
Мы намеренно не поддерживаем удаления с объединениями, так как они имеют ещё худшую поддержку.
Параметры
-
Cake\Database\Query$query Запрос для трансляции
Возвращает
Cake\Database\Query_expressionTranslators() protected
_expressionTranslators(): string[]
Возвращает ассоциативный массив методов, которые преобразуют объекты Expression для соответствия конкретному диалекту SQL. Ключами являются имена классов, а значениями — методы в этом классе.
Возвращает
string[]_insertQueryTranslator() protected
_insertQueryTranslator(Cake\Database\Query $query): Cake\Database\Query
Применить шаги трансляции к запросам вставки.
Параметры
-
Cake\Database\Query$query Запрос для трансляции
Возвращает
Cake\Database\Query_removeAliasesFromConditions() protected
_removeAliasesFromConditions(Cake\Database\Query $query): Cake\Database\Query
Удаляет псевдонимы из WHERE условия запроса.
Параметры
-
Cake\Database\Query$query Запрос для обработки.
Возвращает
Cake\Database\QueryИсключения
RuntimeExceptionВ случае, если обработанный запрос содержит объединения, так как удаление псевдонимов из условий может нарушить ссылки на объединённые таблицы.
_selectQueryTranslator() protected
_selectQueryTranslator(Cake\Database\Query $query): Cake\Database\Query
Применить шаги трансляции к запросам выбора.
Параметры
-
Cake\Database\Query$query Запрос для трансляции
Возвращает
Cake\Database\Query_transformDistinct() protected
_transformDistinct(Cake\Database\Query $query): Cake\Database\Query
Возвращает переданный запрос после переписывания условия DISTINCT, чтобы драйверы, которые не поддерживают часть «ON», могли предоставить фактический способ выполнения.
Параметры
-
Cake\Database\Query$query Запрос для преобразования
Возвращает
Cake\Database\Query_updateQueryTranslator() protected
_updateQueryTranslator(Cake\Database\Query $query): Cake\Database\Query
Применить шаги трансляции к запросам обновления.
Удаляет псевдонимы из условий запроса на обновление, так как не все диалекты баз данных поддерживают псевдонимы в запросах на обновление.
Так же, как и для запросов на удаление, объединения в настоящее время не поддерживаются для запросов на обновление.
Параметры
-
Cake\Database\Query$query Запрос для трансляции
Возвращает
Cake\Database\QueryqueryTranslator() public
queryTranslator(string $type): Closure
Возвращает вызываемую функцию, которая будет использоваться для преобразования переданного объекта Query. Эта функция, в свою очередь, вернёт экземпляр объекта Query, преобразованного для соответствия особенностям используемого диалекта SQL.
Параметры
-
string$type тип запроса для преобразования (select, insert, update, delete)
Возвращает
ClosurequoteIdentifier() public
quoteIdentifier(string $identifier): string
Приводит идентификатор базы данных (имя столбца, имя таблицы и т.д.) к цитируемому виду для безопасного использования в запросах без риска использования зарезервированных слов
Параметры
-
string$identifier Идентификатор для цитирования.
Возвращает
stringreleaseSavePointSQL() public
releaseSavePointSQL(string|int $name): string
Возвращает фрагмент SQL для освобождения ранее созданной точки сохранения
Параметры
-
string|int$name Имя точки сохранения
Возвращает
stringrollbackSavePointSQL() public
rollbackSavePointSQL(string|int $name): string
Возвращает фрагмент SQL для отката ранее созданной точки сохранения
Параметры
-
string|int$name Имя точки сохранения
Возвращает
stringsavePointSQL() public
savePointSQL(string|int $name): string
Возвращает фрагмент SQL для создания новой точки сохранения транзакции
Параметры
-
string|int$name Имя точки сохранения
Возвращает
string
© 2005–present 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/4.2/trait-Cake.Database.Driver.SqlDialectTrait.html