ThinkPHP5模型实例详解 / 规则设置
规则设置
类型转换的规则
1. 规则设置:
规则设置在自定义模型类中:Staff.php
- 例如:
<?phpnamespace app\index\model;use think\Model;use traits\model\SoftDelete;class Staff extends Model{//引入SoftDelete类use SoftDelete; protected $type = [ 'sex'=>'integer','dept'=>'integer']; }
2. 类型说明:
序号 | 类型 | 说明 |
---|---|---|
1 | integer | 写入和输出的时候都会自动转换为整型 |
2 | float | 写入和输出的时候都会自动转换为浮点型 |
3 | boolean | 写入和输出的时候都会自动转换为布尔型 |
4 | array | 如果设置为强制转换为 array 类型,系统会自动把数组编码为json格式字符串写入数据库,取出来的时候会自动解码 |
5 | object | 写入时自动编码为json字符串,输出时自动转换为 stdclass 对象 |
6 | serialize | 指定为序列化类型的话,数据会自动序列化写入,并且在读取的时候自动反序列化 |
7 | json | 指定为 json 类型的话,数据会自动 json_encode 写入,并且在读取的时候自动 json_decode 处理 |
8 | timestamp | 指定为时间戳字段类型的话,该字段的值在写入时候会自动使用 strtotime 生成对应的时间戳,输出的时 候会自动转换为 dateFormat 属性定义的时间字符串格式 |
9 | datetime | 和 timestamp 类似,区别在于写入和读取数据的时候都会自动处理成时间字符串 Y-m-d H:i:s 的格式 |
3. 总结
有学员反映一节课的内容过长,从本节起,尽可能将较长的内容分为几节课来讲,一来大家不会觉得吸收困难,二来也可降低学习成本!
下节课我来几个小实例来演示一下类型转换!