# 实体结构
实体结构用于定义数据表结构,在Dce里面应用比较简单,主要用于定义活动记录属性对应的字段结构,目前仅用到了字段名及是否主键属性,但建议你完整定义,可以更直观的了解表结构,或者兼容日后可能的更丰富的功能扩展。
# \dce\db\entity\DbField
数据表字段注解类,定义字段结构。
# ->__construct()
参数
FieldType|null $type = null
字段类型,已在\dce\db\entity\schema\FieldType
类定义为常量int $length = 0
字符串或Decimal字段最大字符数或数值字段最大字节string|int|float|false $default = false
默认值string $comment = ''
字段注释bool $primary = false
是否主键bool $null = false
是否允许Null值bool $increment = false
是否自增bool $unsigned = true
是否无符号int $precision = 0
Decimal字段小数位
示例
class MemberBadge extends DbActiveRecord {
#[ Property, DbField(FieldType::Tinyint), ]
public int $id;
#[ Property('徽章名'), DbField(FieldType::Varchar, 15),
Validator(Validator::RULE_STRING, max: 15),
Validator(Validator::RULE_REQUIRED),
]
public string $name;
#[ Property('备注'), DbField(FieldType::Varchar), Validator(Validator::RULE_STRING, max: 32), ]
public string $memo;
#[ Property('添加时间'), DbField(FieldType::Datetime), Validator(Validator::RULE_DATETIME), ]
public string $createTime;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# ->getName()
取字段名
# ->getType()
取字段类型实例
- 返回
\dce\db\entity\schema\FieldType
# ->isUnsigned()
是否无符号
# ->getLength()
取最大长度
# ->getPrecision()
取小数位数
# ->isPrimaryKey()
判断字段是否主键
# ->isNotNull()
判断字段是否不支持存null
# ->isAutoIncrement()
判断字段是否自增
# ->getDefault()
取字段默认值
# ->getComment()
取字段注释
# \dce\db\entity\FieldType
字段类型枚举
# ::Int
# ::Tinyint
# ::Smallint
# ::Mediumint
# ::Bigint
# ::Decimal
# ::Float
# ::Double
# ::Varchar
# ::Char
# ::Tinytext
# ::Text
# ::Mediumtext
# ::Longtext
# ::Tinyblob
# ::Blob
# ::Mediumblob
# ::Longblob
# ::Json
# ::Date
# ::Datetime
# ::Timestamp
# ::Time
# ::Year
# ->__construct()
- 参数
string|null $typeName
int|bool $length
bool|int $isUnsigned
int $precision
# ->__toString()
字符串化类型实例
# ->getName()
取类名
# ->isNumeric()
是否数值型字段
# ->isUnsigned()
是否无符号型数值字段
# ->getLength()
最大字符长度或数值字节数
# ->getPrecision()
取小数位数