CakePHP
  • 文档
    • 书籍
    • API
    • 视频
    • 报告安全问题
    • 隐私政策
    • 标志和商标
  • 商业解决方案
  • 礼品
  • 旅行
  • 团队
  • 社区
    • 社区
    • 参与
    • 问题(Github)
    • Bakery
    • 特色资源
    • 培训
    • 聚会
    • 我的 CakePHP
    • CakeFest
    • 时事通讯
    • 领英
    • 优酷
    • 脸书
    • 推特
    • Mastodon
    • 帮助和支持
    • 论坛
    • 堆栈溢出
    • 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
    • 国际化
    • 日志
    • 邮件
    • 网络
    • ORM
    • 路由
    • 测试套件
    • 工具
    • 验证
    • 视图

类 ValuesExpression

一个表达式对象,用于保存要插入的值。

帮助生成具有正确占位符数量的 SQL,并将绑定值正确地插入语句中。

命名空间: Cake\Database\Expression

属性摘要

  • $_castedExpressions protected
    bool

    值是否已转换为表达式。

  • $_columns protected
    array

    要确保作为插入一部分的列的列表。

  • $_query protected
    Cake\Database\Query|null

    要用作值表达式的 Query 对象

  • $_typeMap protected
    Cake\Database\TypeMap|null
  • $_values protected
    array

    要插入的值数组。

方法摘要

  • __construct() public

    构造函数

  • _castToExpression() protected

    如果类型类实现了 ExpressionTypeInterface,则有条件地将传递的值转换为 ExpressionInterface 对象。否则,返回未修改的值。

  • _columnNames() protected

    获取原始的列名。

  • _processExpressions() protected

    转换需要转换为表达式的值

  • _requiresToExpressionCasting() protected

    返回一个数组,其中包含在作为参数传递的类型名称列表中需要将值转换为表达式的类型。

  • add() public

    添加要插入的数据行。

  • getColumns() public

    获取要插入的列。

  • getDefaultTypes() public

    获取当前类型映射的默认类型。

  • getQuery() public

    获取要用于作为要计算以在表中插入记录的值表达式的 Query 对象。

  • getTypeMap() public

    返回现有的类型映射。

  • getValues() public

    获取要插入的值。

  • setColumns() public

    设置要插入的列。

  • setDefaultTypes() public

    覆盖实现对象中字段的默认类型映射。

  • setQuery() public

    设置要用于作为要计算以在表中插入记录的值表达式的 Query 对象。

  • setTypeMap() public

    如果 $typeMap 是一个数组,则创建一个新的 TypeMap,否则将其替换为给定的 TypeMap。

  • setValues() public

    设置要插入的值。

  • sql() public

    将节点转换为 SQL 字符串片段。

  • traverse() public

    递归地遍历表达式的每个部分,对于表达树的每一级,执行回调,将当前正在迭代的表达式的实例作为第一个参数传递。

方法详情

__construct() ¶ public

__construct(array $columns, Cake\Database\TypeMap $typeMap)

构造函数

参数
array $columns

将作为值一部分的列列表。

Cake\Database\TypeMap $typeMap

列 -> 类型名称的字典

_castToExpression() ¶ protected

_castToExpression(mixed $value, string|null $type = null): mixed

如果类型类实现了 ExpressionTypeInterface,则有条件地将传递的值转换为 ExpressionInterface 对象。否则,返回未修改的值。

参数
mixed $value

要转换为 ExpressionInterface 的值

string|null $type optional

类型名称

返回值
mixed

_columnNames() ¶ protected

_columnNames(): array

获取原始的列名。

因为列名可能是标识符引用的,所以我们需要从列中剥离标识符。

返回值
array

_processExpressions() ¶ protected

_processExpressions(): void

转换需要转换为表达式的值

返回值
void

_requiresToExpressionCasting() ¶ protected

_requiresToExpressionCasting(array $types): array

返回一个数组,其中包含在作为参数传递的类型名称列表中需要将值转换为表达式的类型。

参数
array $types

类型名称列表

返回值
array

add() ¶ public

add(Cake\Database\Query|array $values): void

添加要插入的数据行。

参数
Cake\Database\Query|array $values

要追加到插入中的数据数组,或用于执行 INSERT INTO .. SELECT 样式命令的查询

返回值
void
抛出
Cake\Database\Exception\DatabaseException
当混合使用数组 + Query 数据类型时。

getColumns() ¶ public

getColumns(): array

获取要插入的列。

返回值
array

getDefaultTypes() ¶ public

getDefaultTypes(): array<int|string, string>

获取当前类型映射的默认类型。

返回值
array<int|string, string>

getQuery() ¶ public

getQuery(): Cake\Database\Query|null

获取要用于作为要计算以在表中插入记录的值表达式的 Query 对象。

返回值
Cake\Database\Query|null

getTypeMap() ¶ public

getTypeMap(): Cake\Database\TypeMap

返回现有的类型映射。

返回值
Cake\Database\TypeMap

getValues() ¶ public

getValues(): array

获取要插入的值。

返回值
array

setColumns() ¶ public

setColumns(array $columns): $this

设置要插入的列。

参数
array $columns

要插入的列的数组。

返回值
$this

setDefaultTypes() ¶ public

setDefaultTypes(array<int|string, string> $types): $this

覆盖实现对象中字段的默认类型映射。

如果您需要设置跨多个函数/表达式共享的类型映射,此方法很有用。

要添加默认值而不覆盖现有值,请使用 getTypeMap()->addDefaults()

参数
array<int|string, string> $types

要设置的类型数组。

返回值
$this
另请参阅
\Cake\Database\TypeMap::setDefaults()

setQuery() ¶ public

setQuery(Cake\Database\Query $query): $this

设置要用于作为要计算以在表中插入记录的值表达式的 Query 对象。

参数
Cake\Database\Query $query

要设置的查询

返回值
$this

setTypeMap() ¶ public

setTypeMap(Cake\Database\TypeMap|array $typeMap): $this

如果 $typeMap 是一个数组,则创建一个新的 TypeMap,否则将其替换为给定的 TypeMap。

参数
Cake\Database\TypeMap|array $typeMap

如果为数组,则创建 TypeMap,否则设置给定的 TypeMap

返回值
$this

setValues() ¶ public

setValues(array $values): $this

设置要插入的值。

参数
array $values

要插入的值数组。

返回值
$this

sql() ¶ public

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

将节点转换为 SQL 字符串片段。

参数
Cake\Database\ValueBinder $binder
返回值
string

traverse() ¶ public

traverse(Closure $callback): $this

递归地遍历表达式的每个部分,对于表达树的每一级,执行回调,将当前正在迭代的表达式的实例作为第一个参数传递。

参数
Closure $callback
返回值
$this

属性详情

$_castedExpressions ¶ protected

值是否已转换为表达式。

类型
bool

$_columns ¶ protected

要确保作为插入一部分的列的列表。

类型
array

$_query ¶ protected

要用作值表达式的 Query 对象

类型
Cake\Database\Query|null

$_typeMap ¶ protected

类型
Cake\Database\TypeMap|null

$_values ¶ protected

要插入的值数组。

类型
array
OpenHub
Pingping
Linode
  • 商业解决方案
  • 展示
  • 文档
  • 书籍
  • API
  • 视频
  • 报告安全问题
  • 隐私政策
  • 标志和商标
  • 社区
  • 参与
  • 问题(Github)
  • Bakery
  • 特色资源
  • 培训
  • 聚会
  • 我的 CakePHP
  • CakeFest
  • 时事通讯
  • 领英
  • 优酷
  • 脸书
  • 推特
  • Mastodon
  • 帮助和支持
  • 论坛
  • 堆栈溢出
  • IRC
  • Slack
  • 付费支持

使用 CakePHP API 文档 生成