Spec-Zone.ru › CakePHP 4.3

Трейт SqlDialectTrait

Трейт диалекта SQL

Пространство имён: Cake\Database\Driver

Краткое описание методов

  • _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(): array<string>

Возвращает ассоциативный массив методов, которые преобразуют объекты Expression для соответствия конкретному диалекту SQL. Ключами являются имена классов, а значениями — методы в этом классе.

Возвращает

array<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\Query

queryTranslator() public

queryTranslator(string $type): Closure

Возвращает вызываемую функцию, которая будет использоваться для преобразования переданного объекта Query. Эта функция, в свою очередь, вернёт экземпляр объекта Query, преобразованного для соответствия особенностям используемого диалекта SQL.

Параметры

string $type

тип запроса для преобразования (select, insert, update, delete)

Возвращает

Closure

quoteIdentifier() public

quoteIdentifier(string $identifier): string

Приводит идентификатор базы данных (имя столбца, имя таблицы и т.д.) к цитируемому виду для безопасного использования в запросах без риска использования зарезервированных слов

Параметры

string $identifier

Идентификатор для цитирования.

Возвращает

string

releaseSavePointSQL() public

releaseSavePointSQL(string|int $name): string

Возвращает фрагмент SQL для освобождения ранее созданной точки сохранения

Параметры

string|int $name

Имя точки сохранения

Возвращает

string

rollbackSavePointSQL() public

rollbackSavePointSQL(string|int $name): string

Возвращает фрагмент SQL для отката ранее созданной точки сохранения

Параметры

string|int $name

Имя точки сохранения

Возвращает

string

savePointSQL() 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.3/trait-Cake.Database.Driver.SqlDialectTrait.html

Spec-Zone.ru

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