thinkphp中create方法怎么用
2022-11-24 11:02:51
170
{{single.collect_count}}

在thinkphp中,create方法用于对POST提交的数据进行处理,利用表中的字段名称与表单提交的名称对应关系自动封装数据实例,该方法可以对表单进行令牌验证,放置表单重复提交。

php入门到就业线上直播课:进入学习
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用

本文操作环境:Windows10系统、ThinkPHP5版、Dell G3电脑。

thinkphp中create方法怎么用

1、create方法可以对POST提交的数据进行处理(通过表中的字段名称与表单提交的名称对应关系自动封装数据实例),

例如user表中有一个字段名叫"username",如果表单中有一个<input name="username" value="小明">,那么

$User = M('User'); $data = $User->create(); echo $data['username'];
登录后复制

就会输出"小明",不用你用$_POST['username']去接收。

2、用create方法可以对表单进行令牌验证,防止表单重复提交。

3、可以对数据自动验证,前提是你必须手动在Model文件夹中建立一个UserModel.class.php文件,在其中加入验证规责

protected $_validate=array(array('username','require','用户名必须', 1),);
登录后复制

4、可以对字段自动赋值,前提还是必须手动在Model文件夹中建立一个UserModel.class.php文件,在其中加入

protected $_auto = array(array('create_time','time',self::MODEL_INSERT,'function'),);
登录后复制

那么user的注册时间将自动赋值为当前时间

一般情况下,对于刚开始学的小白来说,向数据库添加数据我们都会用一种中规中矩的方法:

01.png

就是通过$_POST去获取每一个表单值。这样的方法有效率不太高。

但是thinkPHP给我们提供了create这种非常的方便方法。用这个方法之前,首先得设置表单中的name的值要和数据字段的值一致。

02.png

03.png

设置完成后,就可以在控制器中对应的方法写代码啦。执行这句的时候$data = $goods->create(),它会自动的获取表单的每一个值。就算你以后数据表要添加字段,也只需要在表单中增加相应的字段名既可以,可以说非常的方便。

if(IS_POST){$goods = M('goods');if($data = $goods->create()){if($goods->add($data)){$this->success('添加成功','show_list','2');}else{$this->error('添加失败');}}}
登录后复制

create方法的特别还在一它可以将数据库中没有的字段在数组中去除。

例如,你数据库中没有aa字段的,而你的表单中是有的,则在提交添加数据时,create方法会将它过滤掉。

04.png

推荐学习:《PHP视频教程

以上就是thinkphp中create方法怎么用的详细内容,更多请关注php中文网其它相关文章!

回帖
全部回帖({{commentCount}})
{{item.user.nickname}} {{item.user.group_title}} {{item.friend_time}}
{{item.content}}
{{item.comment_content_show ? '取消' : '回复'}} 删除
回帖
{{reply.user.nickname}} {{reply.user.group_title}} {{reply.friend_time}}
{{reply.content}}
{{reply.comment_content_show ? '取消' : '回复'}} 删除
回帖
收起
没有更多啦~
{{commentLoading ? '加载中...' : '查看更多评论'}}