thinkphp create方法 用法 详解

xiaoxiao2021-02-27  279

首先明白create方法的用处,是入库前对数据的处理。

直接上create方法的实例:

 

// 实例化User模型 $User = M('User'); // 根据表单提交的POST数据创建数据对象 $User->create(); // 把创建的数据对象写入数据库 $User->add();

三行代码就可以完成入库操作。

 

其中create默认的是提取post的数据,如果要对指定数据进行处理:

 

$data['name'] = 'ThinkPHP'; $data['email'] = 'ThinkPHP@gmail.com'; $User->create($data);

create方法的工作流程:

 

 

 

1.获取数据源(默认是POST数组)

2.验证数据源合法性(非数组或者对象会过滤)

3.检查字段映射

4.判断提交状态(新增或者编辑  根据主键自动判断)

5.数据自动验证

6.表单令牌验证

7.表单数据赋值(过滤非法字段和字符串处理)

8.数据自动完成

9.生成数据对象(保存在内存)

create方法能自动识别是新增或修改,判断方法就是根据提交的数据是否有表主键,所以可以灵活运用这一点,比如下面例子:

 

public function save(){ $users = D('users'); if(!$users -> create()){ // 如果创建失败 表示验证没有通过 输出错误提示信息 $this->error($users ->getError()); }else{ if(I('post.id')){ $users -> save(); $this->success('修改成功',U('index')); }else{ $users -> add(); $this->success('添加成功',U('index')); } } }

 

 

 

 

转载请注明原文地址: https://www.6miu.com/read-4810.html

最新回复(0)