类 EnumType
枚举类型转换器。
用于在 PHP 和数据库类型之间转换字符串数据。
命名空间: Cake\Database\Type
属性摘要
-
$_name protected
string|null
此类型的标识符名称
-
$backingType protected
string
枚举的类型,可以是字符串或整数
-
$enumClassName protected
class-stringBackedEnum>
与类型实例关联的枚举类名
方法摘要
-
__construct() public
-
from() public static
创建一个与提供的
$enumClassName
配对的EnumType
。 -
getBaseType() public
返回此类继承的基类型名称。
-
getEnumClassName() public
-
getName() public
返回此对象的类型标识符名称。
-
marshal() public
编组请求数据
-
newId() public
为给定类型生成新的主键值。
-
toDatabase() public
将枚举实例转换为数据库格式。
-
toPHP() public
将 DB 值转换为支持的枚举实例
-
toStatement() public
获取要在 PDO 语句中使用的绑定类型。
方法详情
__construct() ¶ public
__construct(string $name, class-stringBackedEnum> $enumClassName)
参数
-
string
$name 标识此类型的名称
-
class-stringBackedEnum>
$enumClassName 关联的枚举类名
from() ¶ public static
from(class-stringBackedEnum> $enumClassName): string
创建一个与提供的 $enumClassName
配对的 EnumType
。
用法
// In a table class
$this->getSchema()->setColumnType('status', EnumType::from(StatusEnum::class));
参数
-
class-stringBackedEnum>
$enumClassName 枚举类名
返回
string
getBaseType() ¶ public
getBaseType(): string|null
返回此类继承的基类型名称。
这在扩展基类型以添加额外功能时很有用,但仍希望框架的其余部分对它继承的基类型使用相同的假设。
返回
string|null
marshal() ¶ public
marshal(mixed $value): BackedEnum|null
编组请求数据
最适合将请求数据转换为对 ORM/数据库层更有意义的 PHP 对象。
参数
-
mixed
$value 要转换的值。
返回
BackedEnum|null
toDatabase() ¶ public
toDatabase(mixed $value, Cake\Database\Driver $driver): string|int|null
将枚举实例转换为数据库格式。
参数
-
mixed
$value 要转换的值。
-
Cake\Database\Driver
$driver 要转换的驱动程序实例。
返回
string|int|null
toPHP() ¶ public
toPHP(mixed $value, Cake\Database\Driver $driver): BackedEnum|null
将 DB 值转换为支持的枚举实例
参数
-
mixed
$value 要转换的值。
-
Cake\Database\Driver
$driver 要转换的驱动程序实例。
返回
BackedEnum|null
toStatement() ¶ public
toStatement(mixed $value, Cake\Database\Driver $driver): int
获取要在 PDO 语句中使用的绑定类型。
参数
-
mixed
$value -
Cake\Database\Driver
$driver
返回
int