Класс CommonTableExpression
Выражение, представляющее определение общего табличного выражения.
Краткое описание свойств
- $fields protected
arrayCake\Database\Expression\IdentifierExpression>Имена полей для использования в CTE.
- $materialized protected
string|nullЯвляется ли CTE материализованным.
- $name protected
Cake\Database\Expression\IdentifierExpressionИмя CTE.
- $query protected
Cake\Database\ExpressionInterface|nullОпределение запроса CTE.
- $recursive protected
boolЯвляется ли CTE рекурсивным.
Краткое описание методов
-
__clone() public
Клонирует внутренние объекты выражений.
-
__construct() public
Конструктор.
-
field() public
Добавляет одно или несколько полей (аргументов) в CTE.
-
isRecursive() public
Получает, является ли данное CTE рекурсивным.
-
materialized() public
Устанавливает CTE как материализованный.
-
name() public
Устанавливает имя данного CTE.
-
notMaterialized() public
Устанавливает CTE как не материализованный.
-
query() public
Устанавливает запрос для данного CTE.
-
recursive() public
Устанавливает CTE как рекурсивный.
-
sql() public
Преобразует узел в фрагмент SQL-строки.
-
traverse() public
Проходит по каждой части выражения рекурсивно для каждого уровня дерева выражений и выполняет вызов $callback, передавая в качестве первого параметра экземпляр выражения, по которому в данный момент происходит итерация.
Подробное описание методов
__clone() public
__clone(): void
Клонирует внутренние объекты выражений.
Возвращает
void__construct() public
__construct(string $name = '', Cake\Database\ExpressionInterfaceClosure $query = null)
Конструктор.
Параметры
-
string$name необязательно Имя CTE.
-
Cake\Database\ExpressionInterfaceClosure$query необязательно Запрос CTE
field() public
field(Cake\Database\Expression\IdentifierExpression|arrayCake\Database\Expression\IdentifierExpression>|array<string>|string $fields): $this
Добавляет одно или несколько полей (аргументов) в CTE.
Параметры
-
Cake\Database\Expression\IdentifierExpression|arrayCake\Database\Expression\IdentifierExpression>|array<string>|string$fields Имена полей
Возвращает
$thisisRecursive() public
isRecursive(): bool
Получает, является ли данное CTE рекурсивным.
Возвращает
boolmaterialized() public
materialized(): $this
Устанавливает CTE как материализованный.
Возвращает
$thisname() public
name(string $name): $this
Устанавливает имя данного CTE.
Это имя, используемое для ссылки на выражение в запросах select, insert и т.д.
Параметры
-
string$name Имя CTE.
Возвращает
$thisnotMaterialized() public
notMaterialized(): $this
Устанавливает CTE как не материализованный.
Возвращает
$thisquery() public
query(Cake\Database\ExpressionInterfaceClosure $query): $this
Устанавливает запрос для данного CTE.
Параметры
-
Cake\Database\ExpressionInterfaceClosure$query Запрос CTE
Возвращает
$thisrecursive() public
recursive(): $this
Устанавливает CTE как рекурсивный.
Возвращает
$thissql() public
sql(Cake\Database\ValueBinder $binder): string
Преобразует узел в фрагмент SQL-строки.
Параметры
-
Cake\Database\ValueBinder$binder
Возвращает
stringtraverse() public
traverse(Closure $callback): $this
Проходит по каждой части выражения рекурсивно для каждого уровня дерева выражений и выполняет вызов $callback, передавая в качестве первого параметра экземпляр выражения, по которому в данный момент происходит итерация.
Параметры
-
Closure$callback
Возвращает
$thisПодробное описание свойств
$fields protected
Имена полей для использования в CTE.
Тип
arrayCake\Database\Expression\IdentifierExpression>$materialized protected
Является ли CTE материализованным.
Тип
string|null$name protected
Имя CTE.
Тип
Cake\Database\Expression\IdentifierExpression$query protected
Определение запроса CTE.
Тип
Cake\Database\ExpressionInterface|null$recursive protected
Является ли CTE рекурсивным.
Тип
bool
© 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/class-Cake.Database.Expression.CommonTableExpression.html