您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
thinkphp3.2.1学习笔记-自动完成
发布时间:2017-09-19 11:23:57编辑:雪饮阅读()
自动完成也要使用D,自定义模型中如下:
protected $_auto=array(
//自动完成时可以重新给指定字段赋值
array('age','1'),
//给指定字段使用方法处理,这里的sha1是内置函数,不需要定义直接调用,状态为3是所有情况,若为1是新增时
array('name','sha1',3,'function'),
//这里使用了字段值的填充,用右边的字段值复制填充给左边的字段做为左边字段的值。有时候如果用户名不存在就用注册的邮箱做为用户名
array('name','email',3,'field'),
//自动完成使用回调方法处理字段数据,这里以给字段值添加前缀为例
array('name','addPrefix',3,'callback','_'),
);
protected function addPrefix($str,$prefix){return $prefix.$str;}
控制器中调用如:
$user=D("User");
$data['name']='雪饮大侠';
$data['email']='雪饮邮箱';
if($user->create($data)){$user->add();}
密码留空处理(当密码为空时不修改密码):
自定义模型中:
protected $_auto=array(
array('password','',2,'ignore'),
);
控制器中调用:
$user=D("User");
$data['id']=1;
$data['password']='';
if($user->create($data)){
$user->save();
}
自动完成的动态处理,不依赖于D:
$rules=array(
array('name','sha1',3,'function'),
);
$user=M("User");
$data['name']='雪饮大侠';
if($user->auto($rules)->create($data)){$user->add();}
关键字词:thinkphp3.2.1,自动完成