CakePHP
  • 文档
    • 书籍
    • API
    • 视频
    • 报告安全问题
    • 隐私政策
    • 标识和商标
  • 企业解决方案
  • 周边商品
  • 公路旅行
  • 团队
  • 社区
    • 社区
    • 参与进来
    • 问题 (Github)
    • 烘焙坊
    • 精选资源
    • 培训
    • 聚会
    • 我的 CakePHP
    • CakeFest
    • 通讯
    • Linkedin
    • YouTube
    • Facebook
    • Twitter
    • Mastodon
    • 帮助和支持
    • 论坛
    • Stack Overflow
    • IRC
    • Slack
    • 付费支持
CakePHP

C CakePHP 5.1 Chiffon API

  • 项目
    • CakePHP
      • CakePHP
      • Chronos
      • Elastic Search
      • 队列
  • 版本
    • 5.1
      • 5.1
      • 5.0
      • 4.5
      • 4.4
      • 4.3
      • 4.2
      • 4.1
      • 4.0
      • 3.10
      • 3.9
      • 3.8
      • 3.7
      • 3.6
      • 3.5
      • 3.4
      • 3.3
      • 3.2
      • 3.1
      • 3.0
      • 2.10
      • 2.9
      • 2.8
      • 2.7
      • 2.6
      • 2.5
      • 2.4
      • 2.3
      • 2.2
      • 2.1
      • 2.0
      • 1.3
      • 1.2

命名空间

  • 全局
  • Cake
    • 缓存
    • 集合
    • 命令
    • 控制台
    • 控制器
    • 核心
    • 数据库
      • 驱动程序
      • 异常
      • 表达式
      • 日志
      • 查询
      • 重试
      • 模式
      • 语句
      • 类型
    • 数据源
    • 错误
    • 事件
    • 表单
    • Http
    • I18n
    • 日志
    • 邮件
    • 网络
    • ORM
    • 路由
    • 测试套件
    • 实用程序
    • 验证
    • 视图

类 SqlserverCompiler

负责将 Query 对象编译成其 SQL Server 的 SQL 表示形式

命名空间: Cake\Database

属性摘要

  • $_deleteParts protected
    list<string>

    用于生成 DELETE 语句的查询子句列表。

  • $_insertParts protected
    list<string>

    用于生成 INSERT 语句的查询子句列表。

  • $_quotedSelectAliases protected
    bool

    指示 SELECT 子句中的别名是否需要始终加引号。

  • $_selectParts protected
    list<string>

    用于生成 SELECT 语句的查询子句列表。

  • $_templates protected
    array<string, string>

    用于编译此查询的 SQL 的 sprintf 模板列表。一些子句可以像内部部分的直接串联一样构建,这些子句列在这里。

  • $_updateParts protected
    list<string>

    用于生成 UPDATE 语句的查询子句列表。

方法摘要

  • _buildFromPart() protected

    用于构建 FROM 子句的字符串表示的辅助函数,它构造表格列表,注意别名并转换表达式对象为字符串。

  • _buildHavingPart() protected

    用于构建 HAVING 子句的字符串表示的辅助函数,它构造字段列表,注意别名并转换表达式对象为字符串。

  • _buildInsertPart() protected

    生成 SQL 查询的 INSERT 部分。

  • _buildIntersectPart() protected

    构建此查询中所有 INTERSECT 子句的 SQL 字符串,在处理查询对象时,它还会使用它们配置的 SQL 方言转换它们。

  • _buildJoinPart() protected

    用于构建多个 JOIN 子句的字符串表示的辅助函数,它构造连接列表,注意别名并将表达式对象转换为要连接的表和要使用的条件中的字符串。

  • _buildLimitPart() protected

    生成 SQL 查询的 LIMIT 部分。

  • _buildModifierPart() protected

    构建 SQL 修饰符片段。

  • _buildSelectPart() protected

    用于构建 SELECT 子句的字符串表示的辅助函数,它构造字段列表,注意别名并将表达式对象转换为字符串。此函数还为查询构造 DISTINCT 子句。

  • _buildSetOperationPart() protected

    构建此查询中所有operation子句的 SQL 字符串,在处理查询对象时,它还会使用它们配置的 SQL 方言转换它们。

  • _buildSetPart() protected

    用于生成 SET 表达式 SQL 的辅助函数。

  • _buildUnionPart() protected

    构建此查询中所有 UNION 子句的 SQL 字符串,在处理查询对象时,它还会使用它们配置的 SQL 方言转换它们。

  • _buildUpdatePart() protected

    构建 UPDATE 的 SQL 片段。

  • _buildValuesPart() protected

    构建 INSERT INTO 的 SQL 片段。

  • _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

_buildHavingPart() ¶ protected

_buildHavingPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string

用于构建 HAVING 子句的字符串表示的辅助函数,它构造字段列表,注意别名并转换表达式对象为字符串。

参数
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 部分。

为了更好地处理并发和低事务隔离级别,我们还包含一个 OUTPUT 子句,这样我们就可以确保获得插入行的回传数据。

参数
array $parts

要构建的部件。

Cake\Database\Query $query

正在编译的查询。

Cake\Database\ValueBinder $binder

用于生成参数占位符的值绑定器。

返回值
string

_buildIntersectPart() ¶ protected

_buildIntersectPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string

构建此查询中所有 INTERSECT 子句的 SQL 字符串,在处理查询对象时,它还会使用它们配置的 SQL 方言转换它们。

参数
array $parts

要使用 INTERSECT 操作的查询列表。

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

_buildLimitPart() ¶ protected

_buildLimitPart(int $limit, Cake\Database\Query $query): string

生成 SQL 查询的 LIMIT 部分。

参数
int $limit

LIMIT 子句。

Cake\Database\Query $query

正在编译的查询。

返回值
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

_buildSetOperationPart() ¶ 受保护

_buildSetOperationPart(string $operation, array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string

构建此查询中所有operation子句的 SQL 字符串,在处理查询对象时,它还会使用它们配置的 SQL 方言转换它们。

参数
字符串 $operation
array $parts
Cake\Database\Query $query
Cake\Database\ValueBinder $binder
返回值
string

_buildSetPart() ¶ 受保护

_buildSetPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string

用于生成 SET 表达式 SQL 的辅助函数。

参数
array $parts

要设置的键值对列表。

Cake\Database\Query $query

正在编译的查询。

Cake\Database\ValueBinder $binder

用于生成参数占位符的值绑定器。

返回值
string

_buildUnionPart() ¶ 受保护

_buildUnionPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string

构建此查询中所有 UNION 子句的 SQL 字符串,在处理查询对象时,它还会使用它们配置的 SQL 方言转换它们。

参数
array $parts

使用 UNION 操作的查询列表

Cake\Database\Query $query

正在编译的查询。

Cake\Database\ValueBinder $binder

用于生成参数占位符的值绑定器。

返回值
string

_buildUpdatePart() ¶ 受保护

_buildUpdatePart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string

构建 UPDATE 的 SQL 片段。

参数
array $parts

更新部分。

Cake\Database\Query $query

正在编译的查询。

Cake\Database\ValueBinder $binder

用于生成参数占位符的值绑定器。

返回值
string

_buildValuesPart() ¶ 受保护

_buildValuesPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string

构建 INSERT INTO 的 SQL 片段。

参数
array $parts

值部分。

Cake\Database\Query $query

正在编译的查询。

Cake\Database\ValueBinder $binder

用于生成参数占位符的值绑定器。

返回值
string

_buildWindowPart() ¶ 受保护

_buildWindowPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string

用于构建窗口子句的字符串表示的辅助函数。

参数
array $parts

要转换为字符串的窗口列表

Cake\Database\Query $query

正在编译的查询。

Cake\Database\ValueBinder $binder

用于生成参数占位符的值绑定器。

返回值
string

_buildWithPart() ¶ 受保护

_buildWithPart(arrayCake\Database\Expression\CommonTableExpression> $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string

用于构建WITH子句的字符串表示的辅助函数,它构造 CTE 定义列表,不生成RECURSIVE关键字,它既不需要也不有效。

参数
arrayCake\Database\Expression\CommonTableExpression> $parts

要转换为字符串的 CTE 列表

Cake\Database\Query $query

正在编译的查询。

Cake\Database\ValueBinder $binder

用于生成参数占位符的值绑定器。

返回值
string

_sqlCompiler() ¶ 受保护

_sqlCompiler(string $sql, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): Closure

返回一个闭包,该闭包可用于编译此查询的 SQL 字符串表示形式。

参数
字符串 $sql

要追加的初始 sql 字符串

Cake\Database\Query $query

正在编译的查询。

Cake\Database\ValueBinder $binder

用于生成参数占位符的值绑定器。

返回值
闭包

_stringifyExpressions() ¶ 受保护

_stringifyExpressions(array $expressions, Cake\Database\ValueBinder $binder, bool $wrap = true): array

用于将数组中的 ExpressionInterface 对象转换为其字符串表示形式的辅助函数。

参数
数组 $expressions

字符串和 ExpressionInterface 对象列表

Cake\Database\ValueBinder $binder

用于生成参数占位符的值绑定器。

布尔值 $wrap 可选

是否用括号包装每个表达式对象

返回值
数组

compile() ¶ 公共

compile(Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string

在使用提供的生成器为绑定值生成占位符后,返回提供的查询的 SQL 表示形式

参数
Cake\Database\Query $query

正在编译的查询。

Cake\Database\ValueBinder $binder

用于生成参数占位符的值绑定器

返回值
string

属性详情

$_deleteParts ¶ 受保护

用于生成 DELETE 语句的查询子句列表。

类型
list<string>

$_insertParts ¶ 受保护

用于生成 INSERT 语句的查询子句列表。

类型
list<string>

$_quotedSelectAliases ¶ 受保护

指示 SELECT 子句中的别名是否需要始终加引号。

类型
bool

$_selectParts ¶ 受保护

用于生成 SELECT 语句的查询子句列表。

类型
list<string>

$_templates ¶ 受保护

用于编译此查询的 SQL 的 sprintf 模板列表。一些子句可以像内部部分的直接串联一样构建,这些子句列在这里。

类型
array<string, string>

$_updateParts ¶ 受保护

用于生成 UPDATE 语句的查询子句列表。

类型
list<string>
OpenHub
Pingping
Linode
  • 商业解决方案
  • 展示
  • 文档
  • 书籍
  • API
  • 视频
  • 报告安全问题
  • 隐私政策
  • 标识和商标
  • 社区
  • 参与进来
  • 问题 (Github)
  • 烘焙坊
  • 精选资源
  • 培训
  • 聚会
  • 我的 CakePHP
  • CakeFest
  • 通讯
  • Linkedin
  • YouTube
  • Facebook
  • Twitter
  • Mastodon
  • 帮助和支持
  • 论坛
  • Stack Overflow
  • IRC
  • Slack
  • 付费支持

使用 CakePHP API 文档 生成