获取器和修改器的使用

时间:2022-11-04 03:54:06
一、获取器
1、数据模型
// sex 的获取器
public function getSexAttr($val){
switch ($val) {
case '0':
return "未知";
break;
case "1":
return "男";
break;
case "2":
return "女";
break;
}
}
2、控制器

// 获取ID为15 的数据
$user=User::get(17);

// 经过获取器的操作
dump($user->toArray()); 
dump($user->sex);

// 不经过获取器处理
dump($user->getData());

3、注意
1、如果字段 user_status 修改器名字getUserStatusAttr
2、如果字段 status 修改器名字getStatusAttr

二、修改器
1、数据模型
// 用户密码的修改器

public function setPassAttr($val){
return md5($val);
}

2、控制器
// 修改 ID 为15 的密码
$user=new User();

// 密码会实现自动加密
$res=$user->save(['pass'=>'456'],['id'=>15]);

dump($res);

3、注意

1、修改器的触发条件是 save方法