Spec-Zone.ru › CakePHP 3.4

Трейт SqlDialectTrait

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

Пространство имён: Cake\Database
Расположение: Database/SqlDialectTrait.php

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

  • _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

Spec-Zone.ru

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