类 TypeMap
实现列与其关联类型的默认映射和单次使用映射
命名空间: Cake\Database
属性摘要
-
$_defaults protected
array<int|string, string>
包含此查询可能包含的默认字段及其相关类型的数组。
-
$_types protected
array<int|string, string>
包含此查询可能包含的覆盖默认值的字段及其相关类型的数组
方法摘要
-
__construct() public
使用给定的默认值创建实例
-
addDefaults() public
在类型映射中添加其他默认类型。
-
getDefaults() public
返回当前配置的类型。
-
getTypes() public
获取字段及其关联类型的映射,用于单次使用。
-
setDefaults() public
配置字段及其关联类型的映射。
-
setTypes() public
设置字段及其关联类型的映射,用于单次使用。
-
toArray() public
返回所有映射类型的数组
-
type() public
返回给定列的类型。如果未配置单次使用类型,则将在默认映射中查找列类型。如果两者都不存在,则返回 null。
方法详细
__construct() ¶ public
__construct(array<int|string, string> $defaults = [])
使用给定的默认值创建实例
参数
-
array<int|string, string>
$defaults optional 要使用的默认值。
addDefaults() ¶ public
addDefaults(array<int|string, string> $types): void
在类型映射中添加其他默认类型。
如果键已存在,则不会覆盖它。
参数
-
array<int|string, string>
$types 要添加的额外类型。
返回
void
getDefaults() ¶ public
getDefaults(): array<int|string, string>
返回当前配置的类型。
返回
array<int|string, string>
getTypes() ¶ public
getTypes(): array<int|string, string>
获取字段及其关联类型的映射,用于单次使用。
返回
array<int|string, string>
setDefaults() ¶ public
setDefaults(array<int|string, string> $defaults): $this
配置字段及其关联类型的映射。
这些值将用作此实例中支持 $types
参数的每个函数的默认类型映射。
当您想避免重复类型定义时,此方法很有用,因为设置类型会覆盖上次设置的类型。
示例
$query->setDefaults(['created' => 'datetime', 'is_visible' => 'boolean']);
此方法将用提供的类型替换所有现有的默认映射。若要添加到映射中,请使用 addDefaults()
。
参数
-
array<int|string, string>
$defaults 键是字段名称/位置,值为相应类型的数组。
返回
$this
setTypes() ¶ public
setTypes(array<int|string, string> $types): $this
设置字段及其关联类型的映射,用于单次使用。
示例
$query->setTypes(['created' => 'time']);
此方法将用提供的类型替换所有现有的类型映射。
参数
-
array<int|string, string>
$types 键是字段名称/位置,值为相应类型的数组。
返回
$this
type() ¶ public
type(string|int $column): string|null
返回给定列的类型。如果未配置单次使用类型,则将在默认映射中查找列类型。如果两者都不存在,则返回 null。
参数
-
string|int
$column 给定列的类型
返回
string|null