例如一个sex字段, 0表示未知,1表示男,2表示女, 用获取器,可以直接输出,我们修改过后的.
1. 首先在模型中, 新建一个方法, getSexAttr() get 和 Attr 是固定的. 中间是字段名.
public function getSexAttr($val)
{
switch ($val) {
case '1':
return '男';
break;
case '2':
return '女';
break;
default:
return '未知';
break;
}
}
2. 在控制器中输出一下
public function index()
{
$res = User::get(3);
dump($res->toArray());
//获取原始值
dump($res->getData());
}
/**
array(7) {
["id"] => int(3)
["sex"] => string(3) "女"
["username"] => string(7) "imooc_3"
["password"] => string(32) "50e8a99dab260b929369d686dc560317"
["email"] => string(14) "imooc_3@qq.com"
["num"] => int(13)
["nump"] => int(0)
}
array(7) {
["id"] => int(3)
["sex"] => int(2)
["username"] => string(7) "imooc_3"
["password"] => string(32) "50e8a99dab260b929369d686dc560317"
["email"] => string(14) "imooc_3@qq.com"
["num"] => int(13)
["nump"] => int(0)
}
**/
toArray() 方法返回的, 是替换过后的数据. getData() 是原始数据.