- IIS7授权错误:“无法验证对路径的访问”的解决方法
- axios和vue-resource的对比和使用
- 小程序支付中签名错误
- CSS 兼容要点
- 取每组数据的第一条记录的SQL语句
- JS中的arguments参数
- 网站收录问题经验分享
- 移动控件介绍及详细使用方法:Label控件
- base.OnModelCreating
- 关键词出现在那些地方更有利于网站优化?
邮箱:
手机:15383239821
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'));
}
}
}
-
2026-03-25AI投毒,究竟是怎么回事?
-
2013-10-22网站批量挖掘长尾关键词的9个方法
-
2013-04-15onblur 事件
-
2010-07-20关于最近百度收录增加,关键词下降的问题?及点石朋友回复
-
2023-05-04php 单引号和双引号的区别
-
2012-08-14网站优化过度被惩罚降权的表现
