企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
> ## 获取器:获取到数据值时自动对数据进行转换(针对从库读出来时) 获取器只有当获取单个数据属性的时候自动触发,如果你要获取包含获取器处理的全部数据属性的话,需要采用 ``` $user = User::get(1); // 获取全部获取器数据 dump($user->toArray()); ``` ### 1. 获取器的基本定义 ```php // 在模型中定义一个对应数据表字段status的获取器(数据表字段转为大驼峰) class User extends Model { public function getStatusAttr($value) { $status = [-1=>'删除',0=>'禁用',1=>'正常',2=>'待审核']; return $status[$value]; } } ``` ### 2. 利用获取器在结果集新增一个不存在的字段 ``` // 获取器方法的第二个参数传入的是当前的所有数据数组,自动传入不需要手动传参 class User extends Model { public function getStatusTextAttr($value,$data) { $status = [-1=>'删除',0=>'禁用',1=>'正常',2=>'待审核']; return $status[$data['status']]; } } // 调用这个新增的字段应该用 $user = User::get(1); echo $user->status_text; // 例如输出“正常” ``` ### 3. 定义了获取器的情况下获得原始数据 ``` $user = User::get(1); // 通过获取器获取字段 echo $user->status; // 获取原始字段数据 echo $user->getData('status'); // 获取全部原始数据 dump($user->getData()); ```