企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
> ### 修改器参考tp6 > ### 包含字段修改和类型转换两部分 > ### 用好修改器可以帮助我们简化很多操作 ***** > ### 修改器定义 ``` 在模型中定义一个方法 , 如下: public function setNameAttr($value,$data){ return'dd\_'.$value; } ``` * 命名规范:set + 数据库字段(大驼峰) + Attr , 如nick_name ==> setNickNameAttr * $value 字段值 * $data 所有数据的值 > 原理是包装一个以字段为名字的闭包函数 , 该闭包的返回值将代替该字段的值 , 作为存入数据库时我们想要的字段值 > 1、不需要再需要我们手动去修改 , 在执行添加修改时自动执行 > 2、定义一次 重复使用 > 使用方式: > quickAdd() | quickEdit() 自动使用 > $model->setAttrs($data); 手动使用 ***** > ### 类型转化 > ### 直接在模型中定义 protected $type ``` protected $type = [ 'age' => 'integer'  ]; ``` * 字段 => 数据类型 * 支持的类型有: * integer * float * boolean * timestamp * datetime * object * array * json * serialize > 使用方式和修改器一样 > 需要注意: > 1、修改器和类型转换会同时使用 , 但是同一个字段会执行修改器而忽略类型转换 > 2、类型转换同样可以用在获取器上