接口 WindowInterface
定义用于构建窗口表达式的函数。
命名空间: Cake\Database\Expression
常量
方法摘要
-
excludeCurrent() public
添加当前行框排除。
-
excludeGroup() public
添加组框排除。
-
excludeTies() public
添加平局框排除。
-
frame() public
向窗口添加一个框。
-
groups() public
向窗口添加一个简单的组框。
-
order() public deprecated
向窗口添加一个或多个排序子句。
-
orderBy() public
向窗口添加一个或多个排序子句。
-
partition() public
向窗口添加一个或多个分区表达式。
-
range() public
向窗口添加一个简单的范围框。
-
rows() public
向窗口添加一个简单的行框。
方法详细
frame() ¶ public
frame(string $type, Cake\Database\ExpressionInterface|string|int|null $startOffset, string $startDirection, Cake\Database\ExpressionInterface|string|int|null $endOffset, string $endDirection): $this
向窗口添加一个框。
如果您需要简单的“BETWEEN offset PRECEDING and offset FOLLOWING”框,请使用range()
、rows()
或 groups()
帮助程序。
您可以为框开始和框结束指定任何方向。
使用 $startOffset
和 $endOffset
0
- “当前行”null
- “无界”
参数
-
字符串
$type 框类型
-
Cake\Database\ExpressionInterface|字符串|整数|null
$startOffset 框开始偏移量
-
字符串
$startDirection 框开始方向
-
Cake\Database\ExpressionInterface|字符串|整数|null
$endOffset 框结束偏移量
-
字符串
$endDirection 框结束方向
返回
$this
抛出
InvalidArgumentException
当偏移量为负数时。
groups() ¶ public
groups(int|null $start, int|null $end = 0): $this
向窗口添加一个简单的组框。
有关详细信息,请参阅range()
。
参数
-
整数|null
$start 框开始
-
整数|null
$end 可选 框结束 如果未传入,则仅生成框开始 SQL。
返回
$this
order() ¶ public
order(Cake\Database\ExpressionInterfaceClosure|arrayCake\Database\ExpressionInterface|string>|string $fields): $this
向窗口添加一个或多个排序子句。
参数
-
Cake\Database\ExpressionInterfaceClosure|数组Cake\Database\ExpressionInterface|字符串>|字符串
$fields 排序表达式
返回
$this
orderBy() ¶ public
orderBy(Cake\Database\ExpressionInterfaceClosure|arrayCake\Database\ExpressionInterface|string>|string $fields): $this
向窗口添加一个或多个排序子句。
参数
-
Cake\Database\ExpressionInterfaceClosure|数组Cake\Database\ExpressionInterface|字符串>|字符串
$fields 排序表达式
返回
$this
partition() ¶ public
partition(Cake\Database\ExpressionInterfaceClosure|arrayCake\Database\ExpressionInterface|string>|string $partitions): $this
向窗口添加一个或多个分区表达式。
参数
-
Cake\Database\ExpressionInterfaceClosure|数组Cake\Database\ExpressionInterface|字符串>|字符串
$partitions 分区表达式
返回
$this
range() ¶ public
range(Cake\Database\ExpressionInterface|string|int|null $start, Cake\Database\ExpressionInterface|string|int|null $end = 0): $this
向窗口添加一个简单的范围框。
$start
:
0
- “当前行”null
- “无界 PRECEDING”- 偏移量 - “偏移量 PRECEDING”
$end
:
0
- “当前行”null
- “无界 FOLLOWING”- 偏移量 - “偏移量 FOLLOWING”
如果您需要将“FOLLOWING”与框开始一起使用,或将“PRECEDING”与框结束一起使用,请改用frame()
。
参数
-
Cake\Database\ExpressionInterface|字符串|整数|null
$start 框开始
-
Cake\Database\ExpressionInterface|字符串|整数|null
$end 可选 框结束 如果未传入,则仅生成框开始 SQL。
返回
$this
rows() ¶ public
rows(int|null $start, int|null $end = 0): $this
向窗口添加一个简单的行框。
有关详细信息,请参阅range()
。
参数
-
整数|null
$start 框开始
-
整数|null
$end 可选 框结束 如果未传入,则仅生成框开始 SQL。
返回
$this