🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
#自动完成 ##介绍 自动完成是在模型层对数据进行自动处理的操作过程,执行模块的add、save、create会执行自动完成动作。 >注:执行add或save方法时会自动执行 create 模型方法,所以执行add或save方法前执行create会造成两次处理,会出现问题。 ##操作 **语法** ``` array(表单字段名,处理方法,方法类型,验证条件,处理时间) 方法类型: string(默认) 值为处理方法 如:array('click',100,'string') function 函数 如:array('click','ucfirst','function') method 模型方法 如:array('click','getClick','method') 条件 (可选): self::EXISTS_AUTO 值:1 有字段时 self::NOT_EMPTY_AUTO 值:2 值不为空时 self::MUST_AUTO 值:3 必须处理 self::EMPTY_AUTO 值:4 值为空时 self::NO_EXIST_AUTO 值:5 不存在字段时S_VALIDATE 值:5 不存在字段时处理 处理时间 (可选): self::MODEL_INSERT 值:1 插入时处理 self::MODEL_UPDATE 值:2 更新时处理 self::MODEL_BOTH 值:3 全部情况时处理 ``` ``` <?php namespace home\model; use hdphp\model\Model; class User extends Model { public $table = 'user'; protected $auto=[ //更新时对 addtime 字段执行strtotime函数 ['addtime','strtotime','function',2,1] ]; } ``` 一条规则执行多个方法 ``` protected $auto=[ //更新时对 addtime 字段执行strtotime函数 ['addtime','strtotime|strupper','function',2,1] ]; ``` 设置默认字符串 ``` protected $auto = [ //在添加与修改时设置status值为2 [ 'status', 2, 'string', 3, 3 ] ]; ``` 设置模型方法 ``` protected $auto = [ //在添加与修改时设置status值为2 [ 'status', 'setPassword', 'method', 3, 3 ] ]; /** @param $field 字段名 @param $val 表单值 @param $data 所有表单数据(经过自动完成处理后的) * public function setPassword($field,$val,$data){ return md5($val); } ```