Класс QueryCompiler
Отвечает за компиляцию объекта Query в его SQL представление
Краткое описание свойств
- $_deleteParts protected
array<string>Список запросов для обработки при генерации оператора DELETE.
- $_insertParts protected
array<string>Список запросов для обработки при генерации оператора INSERT.
- $_orderedUnion protected
boolУказывает, поддерживает ли данный диалект SQL упорядоченные объединения.
- $_quotedSelectAliases protected
boolУказывает, нужно ли всегда заключать псевдонимы в SELECT в кавычки.
- $_selectParts protected
array<string>Список запросов для обработки при генерации оператора SELECT.
- $_templates protected
array<string, string>Список шаблонов sprintf, которые будут использоваться для компиляции SQL для этого запроса. Некоторые фрагменты могут быть построены просто как непосредственное конкатенация внутренних частей; они перечислены здесь.
- $_updateParts protected
array<string>Список запросов для обработки при генерации оператора UPDATE.
Краткое описание методов
-
_buildFromPart() protected
Вспомогательная функция для построения строкового представления фрагмента FROM. Она строит список таблиц, учитывая алиасы и преобразуя объекты выражений в строки.
-
_buildInsertPart() protected
Строит SQL-фрагмент для INSERT INTO.
-
_buildJoinPart() protected
Вспомогательная функция для построения строкового представления нескольких фрагментов JOIN. Она строит список соединений, учитывая алиасы и преобразуя объекты выражений в строки как для таблиц, так и для используемых условий.
-
_buildModifierPart() protected
Строит SQL-фрагмент модификатора.
-
_buildSelectPart() protected
Вспомогательная функция для построения строкового представления фрагмента SELECT. Она строит список полей, учитывая алиасы и преобразуя объекты выражений в строки. Эта функция также строит фрагмент DISTINCT для запроса.
-
_buildSetPart() protected
Вспомогательная функция для генерации SQL для выражений SET.
-
_buildUnionPart() protected
Строит SQL-строку для всех фрагментов UNION в этом запросе. При работе с объектами запросов также преобразует их с использованием их настроек диалекта SQL.
-
_buildUpdatePart() protected
Строит SQL-фрагмент для UPDATE.
-
_buildValuesPart() protected
Строит SQL-фрагмент для INSERT INTO.
-
_buildWindowPart() protected
Вспомогательная функция для построения строкового представления фрагмента окна.
-
_buildWithPart() protected
Вспомогательная функция для построения строкового представления фрагмента
WITH. Она строит список определений CTE и генерирует ключевое словоRECURSIVEпри необходимости. -
_sqlCompiler() protected
Возвращает вызываемый объект, который может быть использован для компиляции строкового представления SQL этого запроса.
-
_stringifyExpressions() protected
Вспомогательная функция, используемая для преобразования объектов ExpressionInterface в массиве в их строковое представление.
-
compile() public
Возвращает SQL-представление предоставленного запроса после генерации заполнителей для связанных значений с использованием предоставленного генератора.
Подробное описание методов
_buildFromPart() protected
_buildFromPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Вспомогательная функция, используемая для построения строкового представления фрагмента FROM, она строит список таблиц, учитывая алиасы и конвертируя объекты выражений в строки.
Параметры
-
array$parts Список таблиц, которые нужно преобразовать в строку
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Объект связывания значений, используемый для генерации заменителей параметров
Возвращает
string_buildInsertPart() protected
_buildInsertPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Строит фрагмент SQL для INSERT INTO.
Параметры
-
array$parts Части INSERT.
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Объект связывания значений, используемый для генерации заменителей параметров
Возвращает
string_buildJoinPart() protected
_buildJoinPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Вспомогательная функция для построения строкового представления нескольких фрагментов JOIN, она строит список объединений, заботясь об алиасах и преобразовании объектов выражений в строки как для таблиц, которые будут объединены, так и для условий, которые будут использоваться.
Параметры
-
array$parts Список объединений, которые нужно преобразовать в строку
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Объект связывания значений, используемый для генерации заменителей параметров
Возвращает
string_buildModifierPart() protected
_buildModifierPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Строит фрагмент SQL модификатора.
Параметры
-
array$parts Части модификатора запроса.
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Объект связывания значений, используемый для генерации заменителей параметров
Возвращает
string_buildSelectPart() protected
_buildSelectPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Вспомогательная функция для построения строкового представления фрагмента SELECT, она строит список полей, учитывая алиасы и преобразуя объекты выражений в строки. Эта функция также строит фрагмент DISTINCT для запроса.
Параметры
-
array$parts Список полей, которые нужно преобразовать в строку
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Объект связывания значений, используемый для генерации заменителей параметров
Возвращает
string_buildSetPart() protected
_buildSetPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Вспомогательная функция для генерации SQL для выражений SET.
Параметры
-
array$parts Список пар ключ-значение для установки.
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Объект связывания значений, используемый для генерации заменителей параметров
Возвращает
string_buildUnionPart() protected
_buildUnionPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Строит строку SQL для всех фрагментов UNION в этом запросе, при работе с объектами запроса также преобразует их, используя настроенный диалект SQL.
Параметры
-
array$parts Список запросов, которые будут объединены с помощью UNION
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Объект связывания значений, используемый для генерации заменителей параметров
Возвращает
string_buildUpdatePart() protected
_buildUpdatePart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Строит фрагмент SQL для UPDATE.
Параметры
-
array$parts Части UPDATE.
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Объект связывания значений, используемый для генерации заменителей параметров
Возвращает
string_buildValuesPart() protected
_buildValuesPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Строит фрагмент SQL для INSERT INTO.
Параметры
-
array$parts Части значений.
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Объект связывания значений, используемый для генерации заменителей параметров
Возвращает
string_buildWindowPart() protected
_buildWindowPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Вспомогательная функция для построения строкового представления фрагмента окна.
Параметры
-
array$parts Список окон, которые нужно преобразовать в строку
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Объект связывания значений, используемый для генерации заменителей параметров
Возвращает
string_buildWithPart() protected
_buildWithPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Вспомогательная функция для построения строкового представления фрагмента WITH, она строит список определений CTE и генерирует ключевое слово RECURSIVE при необходимости.
Параметры
-
array$parts Список CTE, которые нужно преобразовать в строку
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Объект связывания значений, используемый для генерации заменителей параметров
Возвращает
string_sqlCompiler() protected
_sqlCompiler(string $sql, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): Closure
Возвращает вызываемый объект, который может быть использован для компиляции строкового представления SQL этого запроса.
Параметры
-
string$sql Исходная строка SQL, которая должна быть добавлена
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Объект связывания значений, используемый для генерации заменителей параметров
Возвращает
Closure_stringifyExpressions() protected
_stringifyExpressions(array $expressions, Cake\Database\ValueBinder $binder, bool $wrap = true): array
Вспомогательная функция для преобразования объектов ExpressionInterface внутри массива в их строковое представление.
Параметры
-
array$expressions Список строк и объектов ExpressionInterface
-
Cake\Database\ValueBinder$binder Объект связывания значений, используемый для генерации заменителей параметров
-
bool$wrap optional Указывает, нужно ли заключать каждый объект выражения в скобки
Возвращает
arraycompile() public
compile(Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Возвращает строковое представление SQL для предоставленного запроса после генерации заменителей для связанных значений с использованием предоставленного генератора
Параметры
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Объект связывания значений, используемый для генерации заменителей параметров
Возвращает
stringПодробное описание свойства
$_deleteParts protected
Список фрагментов запроса для построения оператора DELETE
Тип
array<string>$_insertParts protected
Список фрагментов запроса для построения оператора INSERT
Тип
array<string>$_orderedUnion protected
Указывает, поддерживает ли этот диалект SQL упорядоченные объединения.
Переопределяется в подклассах.
Тип
bool$_quotedSelectAliases protected
Указывает, должны ли псевдонимы в предложении SELECT всегда заключаться в кавычки.
Тип
bool$_selectParts protected
Список фрагментов запроса для построения оператора SELECT
Тип
array<string>$_templates protected
Список шаблонов sprintf, которые будут использоваться для компиляции SQL для этого запроса. Некоторые фрагменты могут быть построены как непосредственное конкатенация внутренних частей, они перечислены здесь.
Тип
array<string, string>$_updateParts protected
Список фрагментов запроса для построения оператора UPDATE
Тип
array<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.4/class-Cake.Database.QueryCompiler.html