thinkphp create方法 用法 详解

首先明白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'));
            }
        }
    }

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值