开启辅助访问
帐号登录 |立即注册

TP5模型数据类型转换:$type属性设置技巧

 
类型转换

protected $type = [
'name'=> 'array',
//以json格式写入,取出自动解码为array
'age'=> 'integer', //该字段写 入和输出的时候都会自动转换为整型
'salary' =>‘float',
//该字段写入和输出的时候都会自动转换为整型
'dept'= >'serialize',//自 动序列化写入,读取的时候自动反序列化
'home'=>'json',
/ison_ encode写入,读取时json_ decode处理
"hiredate' = => 'timestamp', //用strtotime转为时间戳写入,读出按$dateFormat格 式输出
"birthday '=> 'datetime' //读 写时都按$dateFormat格式处理
];

举例:
在对应的数据模板文件Staff.php中设置类型转换。
<?php
namespace app\ index \model;
use think\Model;
class Staff extends Model
{
protected $type = [
’name'=>arry
‘age' => ' integer '
’salary' => 'float',
'hiredate' => 'timestamp'
];

控制器Index中正常输入/输出,则会调用模板文件对输入/输出数据进行类型转换。
namespace app\ index\controller;
use app\ index\model\Staff;
class Index
{
public function index( )
{
$staff = Staff: :get(1023) ;
$staff -> name ='张无忌';
$staff->age='60';
$staff -> salary = ' 3456.78' ;
$staff -> hiredate = ' 2010-09-20' ;
$staff -> isUpdate(true) -> save() ;
//获取一下转换后的数据
$staff = Staff: :get( 1023) ;
echo
'转换数据:<hr>';
dump( $staff->name) ;
dump( $staff->age) ;
dump($staff->salary);
dump( $staff->hiredate) ;
echo
'原始数据:<hr>' ;
dump ( $staff->getData());
}

回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

友情链接
  • 艾Q网

    提供设计文章,教程和分享聚合信息与导航工具,最新音乐,动漫,游戏资讯的网站。