Интерфейс WindowInterface
Определяет функции, используемые для построения выражений окна.
Константы
-
stringFOLLOWING'FOLLOWING'
-
stringGROUPS'GROUPS'
-
stringPRECEDING'PRECEDING'
-
stringRANGE'RANGE'
-
stringROWS'ROWS'
Краткое описание методов
-
excludeCurrent() public
Добавляет исключение текущей строки.
-
excludeGroup() public
Добавляет исключение группы.
-
excludeTies() public
Добавляет исключение ничьих.
-
frame() public
Добавляет фрейм в окно.
-
groups() public
Добавляет простой фрейм групп в окно.
-
order() public
Добавляет один или несколько пунктов упорядочивания в окно.
-
partition() public
Добавляет одно или несколько выражений разбиения в окно.
-
range() public
Добавляет простой фрейм диапазона в окно.
-
rows() public
Добавляет простой фрейм строк в окно.
Подробное описание методов
excludeCurrent() public
excludeCurrent(): $this
Добавляет исключение текущей строки.
Возвращает
$thisexcludeGroup() public
excludeGroup(): $this
Добавляет исключение группы.
Возвращает
$thisexcludeTies() public
excludeTies(): $this
Добавляет исключение ничьих.
Возвращает
$thisframe() public
frame(string $type, int|stringCake\Database\ExpressionInterface|null $startOffset, string $startDirection, int|stringCake\Database\ExpressionInterface|null $endOffset, string $endDirection): $this
Добавляет фрейм в окно.
Используйте вспомогательные функции range(), rows() или groups(), если вам нужны простые фреймы 'BETWEEN offset PRECEDING and offset FOLLOWING'.
Вы можете указать любое направление для начала и конца фрейма.
С обеими $startOffset и $endOffset:
-
0- 'ТЕКУЩАЯ СТРОКА' -
null- 'НЕОГРАНИЧЕННО'
Параметры
-
string$type Тип фрейма
-
int|stringCake\Database\ExpressionInterface|null$startOffset Смещение начала фрейма
-
string$startDirection Направление начала фрейма
-
int|stringCake\Database\ExpressionInterface|null$endOffset Смещение конца фрейма
-
string$endDirection Направление конца фрейма
Возвращает
$thisИсключения
InvalidArgumentExceptionПри отрицательных смещениях.
groups() public
groups(int|null $start, int|null $end = 0): $this
Добавляет простой фрейм групп в окно.
См. range() для получения подробностей.
Параметры
-
int|null$start Начало фрейма
-
int|null$end optional Конец фрейма. Если не указано, будет сгенерирован только SQL для начала фрейма.
Возвращает
$thisorder() public
order(Closure|Cake\Database\ExpressionInterface|string)[]Cake\Database\ExpressionInterface|string $fields): $this
Добавляет один или несколько пунктов упорядочивания в окно.
Параметры
-
Closure|Cake\Database\ExpressionInterface|string)[]Cake\Database\ExpressionInterface|string$fields Выражения упорядочивания
Возвращает
$thispartition() public
partition(Closure|Cake\Database\ExpressionInterface|string)[]Cake\Database\ExpressionInterface|string $partitions): $this
Добавляет одно или несколько выражений разбиения в окно.
Параметры
-
Closure|Cake\Database\ExpressionInterface|string)[]Cake\Database\ExpressionInterface|string$partitions Выражения разбиения
Возвращает
$thisrange() public
range(int|stringCake\Database\ExpressionInterface|null $start, int|stringCake\Database\ExpressionInterface|null $end = 0): $this
Добавляет простой фрейм диапазона в окно.
$start:
-
0- 'ТЕКУЩАЯ СТРОКА' -
null- 'НЕОГРАНИЧЕННО ПРЕДШЕСТВУЮЩИХ' - offset - 'offset ПРЕДШЕСТВУЮЩИХ'
$end:
-
0- 'ТЕКУЩАЯ СТРОКА' -
null- 'НЕОГРАНИЧЕННО СЛЕДУЮЩИХ' - offset - 'offset СЛЕДУЮЩИХ'
Если вам нужно использовать 'FOLLOWING' для начала фрейма или 'PRECEDING' для конца фрейма, используйте frame() вместо этого.
Параметры
-
int|stringCake\Database\ExpressionInterface|null$start Начало фрейма
-
int|stringCake\Database\ExpressionInterface|null$end optional Конец фрейма. Если не указано, будет сгенерирован только SQL для начала фрейма.
Возвращает
$thisrows() public
rows(int|null $start, int|null $end = 0): $this
Добавляет простой фрейм строк в окно.
См. range() для получения подробностей.
Параметры
-
int|null$start Начало фрейма
-
int|null$end optional Конец фрейма. Если не указано, будет сгенерирован только SQL для начала фрейма.
Возвращает
$this
© 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/interface-Cake.Database.Expression.WindowInterface.html