Spec-Zone.ru › CakePHP 4.3

Класс WindowExpression

Это представляет собой SQL выражение окна, используемое агрегатными и оконными функциями.

Пространство имен: Cake\Database\Expression

Константы

  • string
    FOLLOWING
    'FOLLOWING'
  • string
    GROUPS
    'GROUPS'
  • string
    PRECEDING
    'PRECEDING'
  • string
    RANGE
    'RANGE'
  • string
    ROWS
    'ROWS'

Резюме свойств

  • $exclusion protected
    string|null
  • $frame protected
    array|null
  • $name protected
    Cake\Database\Expression\IdentifierExpression
  • $order protected
    Cake\Database\Expression\OrderByExpression|null
  • $partitions protected
    arrayCake\Database\ExpressionInterface>

Резюме методов

  • __clone() public

    Клонировать этот объект и его поддерево выражений.

  • __construct() public
  • buildOffsetSql() protected

    Создает SQL для смещения кадра.

  • excludeCurrent() public

    Добавляет исключение текущей строки кадра.

  • excludeGroup() public

    Добавляет исключение кадра группы.

  • excludeTies() public

    Добавляет исключение кадра ничьих.

  • frame() public

    Добавляет кадр к окну.

  • groups() public

    Добавляет простой кадр групп к окну.

  • isNamedOnly() public

    Возвращает, является ли это только именованным выражением окна.

  • name() public

    Устанавливает имя окна.

  • order() public

    Добавляет одну или несколько клаузул ORDER к окну.

  • partition() public

    Добавляет одно или несколько выражений разбиения к окну.

  • range() public

    Добавляет простой кадр диапазона к окну.

  • rows() public

    Добавляет простой кадр строк к окну.

  • sql() public

    Преобразует узел в фрагмент SQL-строки.

  • traverse() public

    Итерирует по каждой части выражения рекурсивно для каждого уровня дерева выражений и выполняет вызываемый $callback, передавая в качестве первого параметра экземпляр выражения, по которому в данный момент происходит итерация.

END_OF_DOCUMENT_MARKER

Подробное описание методов

__clone() public

__clone(): void

Клонировать этот объект и его поддерево выражений.

Возвращает

void

__construct() public

__construct(string $name = '')

Параметры

string $name необязательно

Имя окна

buildOffsetSql() protected

buildOffsetSql(Cake\Database\ValueBinder $binder, Cake\Database\ExpressionInterface|string|int|null $offset, string $direction): string

Создаёт SQL для смещения фрейма.

Параметры

Cake\Database\ValueBinder $binder

Привязка значений

Cake\Database\ExpressionInterface|string|int|null $offset

Смещение фрейма

string $direction

Направление смещения фрейма

Возвращает

string

excludeCurrent() public

excludeCurrent(): $this

Добавляет исключение текущей строки фрейма.

Возвращает

$this

excludeGroup() public

excludeGroup(): $this

Добавляет исключение группы фрейма.

Возвращает

$this

excludeTies() public

excludeTies(): $this

Добавляет исключение связей фрейма.

Возвращает

$this

frame() public

frame(string $type, Cake\Database\ExpressionInterface|string|int|null $startOffset, string $startDirection, Cake\Database\ExpressionInterface|string|int|null $endOffset, string $endDirection): $this

Добавляет фрейм к окну.

Используйте помощники range(), rows() или groups(), если вам нужны простые фреймы 'BETWEEN offset PRECEDING and offset FOLLOWING'.

Вы можете указать любое направление для начала и конца фрейма.

С $startOffset и $endOffset:

  • 0 - 'ТЕКУЩАЯ СТРОКА'
  • null - 'БЕЗГРАНИЧНЫЙ'

Параметры

string $type
Cake\Database\ExpressionInterface|string|int|null $startOffset
string $startDirection
Cake\Database\ExpressionInterface|string|int|null $endOffset
string $endDirection

Возвращает

$this

groups() public

groups(int|null $start, int|null $end = 0): $this

Добавляет простой фрейм группы к окну.

См. range() для деталей.

Параметры

int|null $start
int|null $end необязательно

Возвращает

$this

isNamedOnly() public

isNamedOnly(): bool

Возвращает, является ли это только выражением именованного окна.

Эти выражения окон указывают только имя окна и не определяют свои разделы, фреймы или порядок.

Возвращает

bool

name() public

name(string $name): $this

Устанавливает имя окна.

Параметры

string $name

Имя окна

Возвращает

$this

order() public

order(Cake\Database\ExpressionInterfaceClosure|arrayCake\Database\ExpressionInterface|string>|string $fields): $this

Добавляет одну или несколько инструкций ORDER к окну.

Параметры

Cake\Database\ExpressionInterfaceClosure|arrayCake\Database\ExpressionInterface|string>|string $fields

Возвращает

$this

partition() public

partition(Cake\Database\ExpressionInterfaceClosure|arrayCake\Database\ExpressionInterface|string>|string $partitions): $this

Добавляет одно или несколько выражений разбиения в окно.

Параметры

Cake\Database\ExpressionInterfaceClosure|arrayCake\Database\ExpressionInterface|string>|string $partitions

Возвращает

$this

range() public

range(Cake\Database\ExpressionInterface|string|int|null $start, Cake\Database\ExpressionInterface|string|int|null $end = 0): $this

Добавляет простой фрейм диапазона к окну.

$start:

  • 0 - 'ТЕКУЩАЯ СТРОКА'
  • null - 'БЕЗГРАНИЧНЫЙ ПРЕДШЕСТВУЮЩИЙ'
  • offset - 'offset ПРЕДШЕСТВУЮЩИЙ'

$end:

  • 0 - 'ТЕКУЩАЯ СТРОКА'
  • null - 'БЕЗГРАНИЧНЫЙ СЛЕДУЮЩИЙ'
  • offset - 'offset СЛЕДУЮЩИЙ'

Если вам нужно использовать 'FOLLOWING' для начала фрейма или 'PRECEDING' для конца фрейма, используйте frame() вместо этого.

Параметры

Cake\Database\ExpressionInterface|string|int|null $start
Cake\Database\ExpressionInterface|string|int|null $end необязательно

Возвращает

$this

rows() public

rows(int|null $start, int|null $end = 0): $this

Добавляет простой фрейм строк к окну.

См. range() для деталей.

Параметры

int|null $start
int|null $end необязательно

Возвращает

$this

sql() public

sql(Cake\Database\ValueBinder $binder): string

Преобразует узел в фрагмент SQL.

Параметры

Cake\Database\ValueBinder $binder

Возвращает

string

traverse() public

traverse(Closure $callback): $this

Итерируется по каждой части выражения рекурсивно для каждого уровня дерева выражений и выполняет вызов $callback, передавая в качестве первого параметра экземпляр выражения, по которому в данный момент итерируется.

Параметры

Closure $callback

Возвращает

$this

Подробное описание свойств

$exclusion protected

Тип

string|null

$frame protected

Тип

array|null

$name protected

Тип

Cake\Database\Expression\IdentifierExpression

$order protected

Тип

Cake\Database\Expression\OrderByExpression|null

$partitions protected

Тип

arrayCake\Database\ExpressionInterface>

© 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.WindowExpression.html

Spec-Zone.ru

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