类 BelongsTo
表示一个 1 - N 关系,其中关系的源端只与目标表中的一条记录相关联。
BelongsTo 关联的一个例子是 Article 属于 Author。
常量
-
字符串
MANY_TO_MANY ¶'manyToMany'
多对多关联的关联类型。
-
字符串
MANY_TO_ONE ¶'manyToOne'
多对一关联的关联类型。
-
字符串
ONE_TO_MANY ¶'oneToMany'
一对多关联的关联类型。
-
字符串
ONE_TO_ONE ¶'oneToOne'
一对一关联的关联类型。
-
字符串
STRATEGY_JOIN ¶'join'
用于使用联接获取关联记录的策略名称
-
字符串
STRATEGY_SELECT ¶'select'
用于使用选择获取关联记录的策略名称
-
字符串
STRATEGY_SUBQUERY ¶'subquery'
用于使用子查询获取关联记录的策略名称
属性概述
-
$_bindingKey protected
list<string>|string
拥有方表中用于与 foreignKey 匹配的字段名称
-
$_cascadeCallbacks protected
布尔值
级联删除是否也应该触发回调。
-
$_className protected
字符串
目标表对象的类名
-
$_conditions protected
闭包|数组
从目标关联获取记录时始终包含的条件列表
-
$_dependent protected
布尔值
目标表上的记录是否依赖于源表,通常用于指示如果源表中拥有该记录被删除,则应删除记录。
-
$_finder protected
数组|字符串
用于从目标表获取行时使用的默认查找器名称 允许使用数组值、查找器名称和默认选项。
-
$_foreignKey protected
list<string>|string|false
表示要加载表的外部键的字段名称
-
$_joinType protected
字符串
将关联添加到查询时要使用的联接类型
-
$_name protected
字符串
赋予关联的名称,通常代表分配给目标关联表的别名
-
$_propertyName protected
字符串
应该用目标表中的数据填充源表记录中的属性名称。
-
$_sourceTable protected
Cake\ORM\Table
源表实例
-
$_strategy protected
字符串
用于获取关联记录的策略名称。某些关联类型可能不会实现,但只有一种策略来获取记录。
-
$_tableLocator protected
Cake\ORM\Locator\LocatorInterface|null
表定位器实例
-
$_targetTable protected
Cake\ORM\Table
目标表实例
-
$_validStrategies protected
list<string>
此关联类型的有效策略
-
$defaultTable protected
字符串|null
此对象的默认表别名。
方法概述
-
__call() public
将方法调用代理到目标表。
-
__construct() public
构造函数。子类可以覆盖 _options 函数来获取传递的原始选项列表(如果期望任何其他特殊键)
-
__get() public
将属性检索代理到目标表。这对获取此关联的关联很有用
-
__isset() public
将 isset 调用代理到目标表。这对于检查目标表是否具有与传递名称相同的另一个关联很有用
-
_appendFields() protected
辅助函数,用于有条件地将字段追加到从另一个查询对象中找到的字段的查询的 select 子句。
-
_appendNotMatching() protected
有条件地向传递的 Query 添加一个条件,这将使它查找与该关联没有匹配的记录。
-
_bindNewAssociations() protected
将所有可附加关联应用到
$query
,这些关联来自$surrogate
查询中找到的包含项。 -
_camelize() protected
创建 $name 的骆驼化版本
-
_dispatchBeforeFind() protected
在目标表上触发 beforeFind,用于此关联附加到的查询
-
_entityName() protected
为指定的名称创建适当的实体名称(单数)
-
_extractFinder() protected
辅助方法,用于推断请求的查找器及其选项。
-
_fixtureName() protected
创建 fixture 名称
-
_formatAssociationResults() protected
如果
$surrogate
查询声明了任何其他格式化器,则向传递的$query
添加一个格式化器函数。由于$surrogate
查询对应于关联的目标表,因此生成的格式化器将是将代理格式化器应用于仅对应于该表的属性的结果。 -
_joinCondition() protected
返回一个或多个条件,这些条件将被追加到生成的联接子句中,以获取目标表上的结果。
-
_modelKey() protected
为关联创建适当的下划线模型键
-
_modelNameFromKey() protected
从外部键创建适当的模型名称
-
_options() protected
覆盖此函数以初始化任何具体关联类,它将传递在构造函数中使用的原始选项列表
-
_pluginNamespace() protected
返回插件的命名空间
-
_pluginPath() protected
查找插件的正确路径。在 $pluginPaths 中扫描您想要的插件。
-
_pluralHumanName() protected
创建视图中使用的复数人名
-
_propertyName() protected
根据关联名称返回默认属性名称。
-
_singularHumanName() protected
创建视图中使用的单数人名
-
_singularName() protected
创建用于视图的单数名称。
-
_variableName() protected
为视图创建复数变量名
-
attachTo() public
更改 Query 对象以在最终结果中包含关联的目标表数据
-
canBeJoined() public
此关联是否可以直接在查询联接中表达
-
cascadeDelete() public
处理级联删除。
-
defaultRowValue() public
在追加此关联的属性后返回修改后的行,并根据关联是联接还是外部获取设置默认空值。
-
deleteAll() public
将删除操作代理到目标
Table::deleteAll()
方法 -
eagerLoader() public
急切加载目标表中与源表中另一组记录相关的记录列表。源记录可以通过两种方式指定:第一种是通过传递一个为在源表上查找而设置的 Query 对象,另一种是通过明确传递源表的主键值数组。
-
exists() public
在附加此关联的默认条件后,将操作代理到目标表的 exists 方法。
-
fetchTable() public
获取表实例的便捷方法。
-
find() public
将查找操作代理到目标表的 find 方法,并根据此关联配置相应地修改查询。
-
getBindingKey() public
获取代表与目标表绑定字段的字段名称。当未手动指定时,将使用拥有方表的 主键。
-
getCascadeCallbacks() public
获取级联删除是否也应触发回调。
-
getClassName() public
获取目标表对象的类名。
-
getConditions() public
获取从目标关联获取记录时始终包含的条件列表。
-
getDependent() public
设置目标表上的记录是否依赖于源表。
-
getFinder() public
获取用于从目标表获取行的默认查找器。
-
getForeignKey() public
获取代表指向目标表的 外键的字段名称。
-
getJoinType() public
获取将关联添加到查询时要使用的连接类型。
-
getName() public
获取此关联的名称,通常是分配给目标关联表的别名。
-
getProperty() public
获取应使用目标表中的数据在源表记录中填充的属性名称。
-
getSource() public
获取关联源端的表实例。
-
getStrategy() public
获取用于获取关联记录的策略名称。请记住,某些关联类型可能没有实现,但有一个默认策略,这使得对该设置的任何更改都无效。
-
getTableLocator() public
获取表定位器。
-
getTarget() public
获取关联目标端的表实例。
-
isOwningSide() public
返回传递的表是否是此关联的拥有方。这意味着如果 '源' 中的行不存在,则 '目标' 表中的行将缺少重要或必需的信息。
-
requiresKeys() public
如果 急切加载 过程需要一组拥有方表的绑定键才能在查找器查询中使用它们作为过滤器,则返回 true。
-
saveAssociated() public
获取源表中的一个实体,并查看是否存在与该关联的属性名称匹配的字段。找到的实体将通过传递提供的
$options
在该关联的目标表上保存。 -
setBindingKey() public
设置代表与目标表绑定字段的字段名称。当未手动指定时,将使用拥有方表的 主键。
-
setCascadeCallbacks() public
设置级联删除是否也应触发回调。
-
setClassName() public
设置目标表对象的类名。
-
setConditions() public
设置从目标关联获取记录时始终包含的条件列表。
-
setDependent() public
设置目标表上的记录是否依赖于源表。
-
setFinder() public
设置用于从目标表获取行的默认查找器。
-
setForeignKey() public
设置代表指向目标表的 外键的字段名称。
-
setJoinType() public
设置将关联添加到查询时要使用的连接类型。
-
setProperty() public
设置应使用目标表中的数据在源表记录中填充的属性名称。
-
setSource() public
设置关联源端的表实例。
-
setStrategy() public
设置用于获取关联记录的策略名称。请记住,某些关联类型可能没有实现,但有一个默认策略,这使得对该设置的任何更改都无效。
-
setTableLocator() public
设置表定位器。
-
setTarget() public
设置关联目标端的表实例。
-
transformRow() public
将关联值的 结果行 正确嵌套到源结果中正确的数组键中。
-
type() public
获取关系类型。
-
updateAll() public
将更新操作代理到目标
Table::updateAll()
方法。
方法详细说明
__call() ¶ public
__call(string $method, array $argument): mixed
将方法调用代理到目标表。
参数
-
string
$method 要调用的方法的名称
-
array
$argument 传递给函数的参数列表
返回值
混合
抛出
BadMethodCallException
__construct() ¶ public
__construct(string $alias, array<string, mixed> $options = [])
构造函数。子类可以覆盖 _options 函数来获取传递的原始选项列表(如果期望任何其他特殊键)
参数
-
string
$alias 给关联指定的名称
-
array<string, mixed>
$options optional 要在该对象上设置的属性列表
__get() ¶ public
__get(string $property): self
将属性检索代理到目标表。这对获取此关联的关联很有用
参数
-
string
$property 属性名称
返回值
自身
抛出
RuntimeException
如果不存在具有此名称的关联
__isset() ¶ public
__isset(string $property): bool
将 isset 调用代理到目标表。这对于检查目标表是否具有与传递名称相同的另一个关联很有用
参数
-
string
$property 属性名称
返回值
布尔值
_appendFields() ¶ protected
_appendFields(Cake\ORM\Query\SelectQuery $query, Cake\ORM\Query\SelectQuery $surrogate, array<string, mixed> $options): void
辅助函数,用于有条件地将字段追加到从另一个查询对象中找到的字段的查询的 select 子句。
参数
-
Cake\ORM\Query\SelectQuery
$query 将向其附加字段的查询
-
Cake\ORM\Query\SelectQuery
$surrogate 具有要从其复制的字段的查询
-
array<string, mixed>
$options 传递给
attachTo
方法的选项
返回值
空
_appendNotMatching() ¶ protected
_appendNotMatching(Cake\ORM\Query\SelectQuery $query, array<string, mixed> $options): void
有条件地向传递的 Query 添加一个条件,这将使它查找与该关联没有匹配的记录。
参数
-
Cake\ORM\Query\SelectQuery
$query 要修改的查询
-
array<string, mixed>
$options 包含
negateMatch
键的选项数组。
返回值
空
_bindNewAssociations() ¶ protected
_bindNewAssociations(Cake\ORM\Query\SelectQuery $query, Cake\ORM\Query\SelectQuery $surrogate, array<string, mixed> $options): void
将所有可附加关联应用到 $query
,这些关联来自 $surrogate
查询中找到的包含项。
将 $surrogate
查询中的所有包含的关联复制到传递的 $query
中。包含关系已更改,因此它们符合其来源的关联链。
参数
-
Cake\ORM\Query\SelectQuery
$query 将向其附加关联的查询
-
Cake\ORM\Query\SelectQuery
$surrogate 具有要附加的包含关系的查询
-
array<string, mixed>
$options 传递给
attachTo
方法的选项
返回值
空
_dispatchBeforeFind() ¶ protected
_dispatchBeforeFind(Cake\ORM\Query\SelectQuery $query): void
在目标表上触发 beforeFind,用于此关联附加到的查询
参数
-
Cake\ORM\Query\SelectQuery
$query 此关联附加到的查询
返回值
空
_entityName() ¶ protected
_entityName(string $name): string
为指定的名称创建适当的实体名称(单数)
参数
-
string
$name 名称
返回值
字符串
_extractFinder() ¶ protected
_extractFinder(array|string $finderData): array
辅助方法,用于推断请求的查找器及其选项。
返回从查找器 $type
推断出的选项。
示例
以下将调用查找器 'translations',其值为查找器的选项: $query->contain(['Comments' => ['finder' => ['translations']]]);
$query->contain(['Comments' => ['finder' => ['translations' => []]]]);
$query->contain(['Comments' => ['finder' => ['translations' => ['locales' => ['en_US']]]]]);
参数
-
array|string
$finderData 查找器名称或以名称作为键和选项作为值的数组。
返回值
数组
_fixtureName() ¶ protected
_fixtureName(string $name): string
创建 fixture 名称
参数
-
string
$name 模型类名称
返回值
字符串
_formatAssociationResults() ¶ protected
_formatAssociationResults(Cake\ORM\Query\SelectQuery $query, Cake\ORM\Query\SelectQuery $surrogate, array<string, mixed> $options): void
如果 $surrogate
查询声明了任何其他格式化器,则向传递的 $query
添加一个格式化器函数。由于 $surrogate
查询对应于关联的目标表,因此生成的格式化器将是将代理格式化器应用于仅对应于该表的属性的结果。
参数
-
Cake\ORM\Query\SelectQuery
$query 将对该查询应用格式化程序的查询
-
Cake\ORM\Query\SelectQuery
$surrogate 具有关联目标表的格式化程序的查询。
-
array<string, mixed>
$options 传递给
attachTo
方法的选项
返回值
空
_joinCondition() ¶ protected
_joinCondition(array<string, mixed> $options): arrayCake\Database\Expression\IdentifierExpression>
返回一个或多个条件,这些条件将被追加到生成的联接子句中,以获取目标表上的结果。
参数
-
array<string, mixed>
$options 传递给
attachTo
方法的选项列表
返回值
arrayCake\Database\Expression\IdentifierExpression>
抛出
Cake\Database\Exception\DatabaseException
如果 外键 中的列数与目标表 主键 中的列数不匹配
_modelKey() ¶ protected
_modelKey(string $name): string
为关联创建适当的下划线模型键
如果输入包含句点,则假定右侧是真正的表名。
参数
-
string
$name 模型类名称
返回值
字符串
_modelNameFromKey() ¶ protected
_modelNameFromKey(string $key): string
从外部键创建适当的模型名称
参数
-
string
$key 外键
返回值
字符串
_options() ¶ protected
_options(array<string, mixed> $options): void
覆盖此函数以初始化任何具体关联类,它将传递在构造函数中使用的原始选项列表
参数
-
array<string, mixed>
$options 用于初始化的选项列表
返回值
空
_pluginNamespace() ¶ protected
_pluginNamespace(string $pluginName): string
返回插件的命名空间
参数
-
string
$pluginName 插件名称
返回值
字符串
_pluginPath() ¶ protected
_pluginPath(string $pluginName): string
查找插件的正确路径。在 $pluginPaths 中扫描您想要的插件。
参数
-
string
$pluginName 您想要使用的插件名称,例如 DebugKit
返回值
字符串
_pluralHumanName() ¶ protected
_pluralHumanName(string $name): string
创建视图中使用的复数人名
参数
-
string
$name 控制器名称
返回值
字符串
_singularHumanName() ¶ protected
_singularHumanName(string $name): string
创建视图中使用的单数人名
参数
-
string
$name 控制器名称
返回值
字符串
_singularName() ¶ protected
_singularName(string $name): string
创建用于视图的单数名称。
参数
-
string
$name 要使用的名称
返回值
字符串
_variableName() ¶ protected
_variableName(string $name): string
为视图创建复数变量名
参数
-
string
$name 要使用的名称
返回值
字符串
attachTo() ¶ public
attachTo(Cake\ORM\Query\SelectQuery $query, array<string, mixed> $options = []): void
更改 Query 对象以在最终结果中包含关联的目标表数据
选项数组接受以下键
- includeFields: 是否将目标模型字段包含在结果中
- foreignKey: 要用作外键的字段名称,如果为 false,则不会使用任何外键
- conditions: 包含用于过滤连接的条件列表的数组,这将与最初为此关联配置的任何条件合并
- fields: 要包含在结果中的目标表中的字段列表
- aliasPath: 表示从传递的查询主表到此关联的关联名称路径的点分隔字符串。
- propertyPath: 表示从传递的查询主实体到此关联的关联属性路径的点分隔字符串
- joinType: 在查询中使用的 SQL 连接类型。
- negateMatch: 将一个条件附加到传递的查询,用于排除与该关联匹配的结果。
参数
-
Cake\ORM\Query\SelectQuery
$query 要更改以包含目标表数据的查询
-
array<string, mixed>
$options optional 要考虑的任何额外选项或覆盖
返回值
空
抛出
RuntimeException
无法构建查询或关联。
canBeJoined() ¶ public
canBeJoined(array<string, mixed> $options = []): bool
此关联是否可以直接在查询联接中表达
参数
-
array<string, mixed>
$options optional 可以更改返回值的自定义选项键
返回值
布尔值
cascadeDelete() ¶ public
cascadeDelete(Cake\Datasource\EntityInterface $entity, array<string, mixed> $options = []): bool
处理级联删除。
BelongsTo 关联在级联删除场景中永远不会被清除。
参数
-
Cake\Datasource\EntityInterface
$entity 启动级联删除的实体。
-
array<string, mixed>
$options optional 原始删除的选项。
返回值
布尔值
defaultRowValue() ¶ public
defaultRowValue(array<string, mixed> $row, bool $joined): array<string, mixed>
在追加此关联的属性后返回修改后的行,并根据关联是联接还是外部获取设置默认空值。
参数
-
array<string, mixed>
$row 要设置默认值的行。
-
bool
$joined 该行是否为与该关联直接连接的结果
返回值
array<string, mixed>
deleteAll() ¶ public
deleteAll(Cake\Database\Expression\QueryExpressionClosure|array|string|null $conditions): int
将删除操作代理到目标 Table::deleteAll()
方法
参数
-
Cake\Database\Expression\QueryExpressionClosure|array|string|null
$conditions 要使用的条件,接受 Query::where() 可以接受的任何内容。
返回值
int
另请参见
eagerLoader() ¶ public
eagerLoader(array<string, mixed> $options): Closure
急切加载目标表中与源表中另一组记录相关的记录列表。源记录可以通过两种方式指定:第一种是通过传递一个为在源表上查找而设置的 Query 对象,另一种是通过明确传递源表的主键值数组。
传递相关源记录的必要方法由“strategy”控制。当使用 subquery 策略时,它将需要对源表进行查询。当使用 select 策略时,将使用主键列表。
返回一个闭包,该闭包应针对特定查询中返回的每个记录运行。此可调用对象将负责注入与每个特定传递行相关的字段。
选项数组接受以下键
- query: 用于查找源表记录的 SelectQuery 对象
- keys: 来自源表的 主键值列表
- foreignKey: 用于关联两个表的字段名称
- conditions: 要传递给查询 where() 方法的条件列表
- sort: 记录应返回的方向
- fields: 要从目标表中选择的字段列表
- contain: 要与目标表关联并进行预加载的相关表列表
- strategy: 用于查找目标表记录的策略名称
- nestKey: 当转换行时,结果将在其下找到的数组键
参数
-
array<string, mixed>
$options
返回值
Closure
exists() ¶ public
exists(Cake\Database\ExpressionInterfaceClosure|array|string|null $conditions): bool
在附加此关联的默认条件后,将操作代理到目标表的 exists 方法。
参数
-
Cake\Database\ExpressionInterfaceClosure|array|string|null
$conditions 用于检查是否有任何记录匹配的条件。
返回值
布尔值
另请参见
fetchTable() ¶ public
fetchTable(string|null $alias = null, array<string, mixed> $options = []): Cake\ORM\Table
获取表实例的便捷方法。
参数
-
string|null
$alias optional 您想要获取的别名。应采用 CamelCase 格式。如果为 `null`,则使用 `$defaultTable` 属性的值。
-
array<string, mixed>
$options optional 您要使用该表构建的选项。如果表已加载,则注册表选项将被忽略。
返回值
Cake\ORM\Table
抛出
Cake\Core\Exception\CakeException
如果 `$alias` 参数和 `$defaultTable` 属性都是 `null`。
另请参见
find() ¶ public
find(array<string, mixed>|string|null $type = null, mixed ...$args): Cake\ORM\Query\SelectQuery
将查找操作代理到目标表的 find 方法,并根据此关联配置相应地修改查询。
参数
-
array<string, mixed>|string|null
$type optional 要执行的查询类型,如果传递的是数组,则将被解释为 `$args` 参数
-
mixed
...$args 与查找器特定参数匹配的参数
返回值
Cake\ORM\Query\SelectQuery
另请参见
getBindingKey() ¶ public
getBindingKey(): list<string>|string
获取代表与目标表绑定字段的字段名称。当未手动指定时,将使用拥有方表的 主键。
返回值
list<string>|string
getConditions() ¶ public
getConditions(): Closure|array
获取从目标关联获取记录时始终包含的条件列表。
返回值
闭包|数组
另请参见
getForeignKey() ¶ public
getForeignKey(): list<string>|string|false
获取代表指向目标表的 外键的字段名称。
返回值
list<string>|string|false
getStrategy() ¶ public
getStrategy(): string
获取用于获取关联记录的策略名称。请记住,某些关联类型可能没有实现,但有一个默认策略,这使得对该设置的任何更改都无效。
返回值
字符串
getTableLocator() ¶ public
getTableLocator(): Cake\ORM\Locator\LocatorInterface
获取表定位器。
返回值
Cake\ORM\Locator\LocatorInterface
isOwningSide() ¶ public
isOwningSide(Cake\ORM\Table $side): bool
返回传递的表是否是此关联的拥有方。这意味着如果 '源' 中的行不存在,则 '目标' 表中的行将缺少重要或必需的信息。
参数
-
Cake\ORM\Table
$side 具有所有权的潜在 Table
返回值
布尔值
requiresKeys() ¶ public
requiresKeys(array<string, mixed> $options = []): bool
如果 急切加载 过程需要一组拥有方表的绑定键才能在查找器查询中使用它们作为过滤器,则返回 true。
参数
-
array<string, mixed>
$options optional 包含要使用的策略的选项。
返回值
布尔值
saveAssociated() ¶ public
saveAssociated(Cake\Datasource\EntityInterface $entity, array<string, mixed> $options = []): Cake\Datasource\EntityInterface|false
获取源表中的一个实体,并查看是否存在与该关联的属性名称匹配的字段。找到的实体将通过传递提供的 $options
在该关联的目标表上保存。
参数
-
Cake\Datasource\EntityInterface
$entity 源表中的实体
-
array<string, mixed>
$options optional 要传递到目标表保存方法的选项
返回值
Cake\Datasource\EntityInterface|false
另请参见
setBindingKey() ¶ public
setBindingKey(list<string>|string $key): $this
设置代表与目标表绑定字段的字段名称。当未手动指定时,将使用拥有方表的 主键。
参数
-
list<string>|string
$key 用于将两个表链接在一起的表字段或字段
返回值
$this
setCascadeCallbacks() ¶ public
setCascadeCallbacks(bool $cascadeCallbacks): $this
设置级联删除是否也应触发回调。
参数
-
bool
$cascadeCallbacks 级联回调开关值
返回值
$this
setClassName() ¶ public
setClassName(string $className): $this
设置目标表对象的类名。
参数
-
string
$className 要设置的类名。
返回值
$this
抛出
InvalidArgumentException
如果在解析目标表后设置类名,并且它与目标表的类名不匹配。
setConditions() ¶ public
setConditions(Closure|array $conditions): $this
设置从目标关联获取记录时始终包含的条件列表。
参数
-
Closure|array
$conditions 要使用的条件列表
返回值
$this
另请参见
setDependent() ¶ public
setDependent(bool $dependent): $this
设置目标表上的记录是否依赖于源表。
这主要用于指示如果源表中的拥有记录被删除,则应删除记录。
如果未传递参数,则返回当前设置。
参数
-
bool
$dependent 设置依赖模式。使用 null 读取当前状态。
返回值
$this
setFinder() ¶ public
setFinder(array|string $finder): $this
设置用于从目标表获取行的默认查找器。
参数
-
array|string
$finder 要使用的查找器名称或查找器名称和选项的数组。
返回值
$this
setForeignKey() ¶ public
setForeignKey(list<string>|string|false $key): $this
设置代表指向目标表的 外键的字段名称。
参数
-
list<string>|string|false
$key 用于将两个表链接在一起的键或键,如果设置为
false
,则不会自动生成任何连接条件。
返回值
$this
setJoinType() ¶ public
setJoinType(string $type): $this
设置将关联添加到查询时要使用的连接类型。
参数
-
string
$type 要使用的连接类型(例如 INNER)
返回值
$this
setProperty() ¶ public
setProperty(string $name): $this
设置应使用目标表中的数据在源表记录中填充的属性名称。
参数
-
string
$name 关联属性的名称。使用 null 读取当前值。
返回值
$this
setSource() ¶ public
setSource(Cake\ORM\Table $table): $this
设置关联源端的表实例。
参数
-
Cake\ORM\Table
$table 要分配为源端的实例
返回值
$this
setStrategy() ¶ public
setStrategy(string $name): $this
设置用于获取关联记录的策略名称。请记住,某些关联类型可能没有实现,但有一个默认策略,这使得对该设置的任何更改都无效。
参数
-
string
$name 策略类型。使用 null 读取当前值。
返回值
$this
抛出
InvalidArgumentException
提供无效策略时。
setTableLocator() ¶ public
setTableLocator(Cake\ORM\Locator\LocatorInterface $tableLocator): $this
设置表定位器。
参数
-
Cake\ORM\Locator\LocatorInterface
$tableLocator LocatorInterface 实例。
返回值
$this
setTarget() ¶ public
setTarget(Cake\ORM\Table $table): $this
设置关联目标端的表实例。
参数
-
Cake\ORM\Table
$table 要分配为目标端的实例
返回值
$this
transformRow() ¶ public
transformRow(array<string, mixed> $row, string $nestKey, bool $joined, string|null $targetProperty = null): array
将关联值的 结果行 正确嵌套到源结果中正确的数组键中。
参数
-
array<string, mixed>
$row 要转换的行
-
string
$nestKey 此关联的结果应位于其中的数组键
-
bool
$joined 该行是否为与该关联直接连接的结果
-
string|null
$targetProperty 可选 源结果中关联数据应嵌套在其中的属性名称。如果没有提供,将使用默认名称。
返回值
数组
updateAll() ¶ public
updateAll(Cake\Database\Expression\QueryExpressionClosure|array|string $fields, Cake\Database\Expression\QueryExpressionClosure|array|string|null $conditions): int
将更新操作代理到目标 Table::updateAll()
方法。
参数
-
Cake\Database\Expression\QueryExpressionClosure|array|string
$fields 字段 => 新值的哈希。
-
Cake\Database\Expression\QueryExpressionClosure|array|string|null
$conditions 要使用的条件,接受任何 Query::where()
返回值
int