ThinkPHP中I('post.')与create()方法的对比

简要归纳:

	 public function add(){
		 //查询部门信息
		 if(IS_POST){
			 $post=I('POST.');
			 
			 $model=D('user');
			 $data=$model->create();
			 $data['addtime']=time();
			 $result=$model->add($data);
			 //保存数据
			 if($result){
				 $this->success('添加成功',U('showlist'));
			 }else{
				 $this->error('失败');
			 }```

1、二者都可用来接收post表单提交的数据。

2、I('post.')方法可直接接收赋值给变量如$post=I('post.'),create()方法源于父类模型封装,需先实例化父类模型,如:$post=M('Test')->create()。

3、I('post.')方法内置默认过滤方法htmlspecialchars可过滤html实体,create()方法需手动创建。

4、create()方法包含一系列 自动验证 自动处理 字段映射等机制(需自定义规则),I('post.')方法无。

5、I('post.')方法可接收非数据表中的表单字段,create()创建的数据对象会自动过滤与数据表中字段不匹配的表单字段。

6、I('post.')方法多用于字段数据较少,不需要一系列自动功能的场景,create()方法则相反。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值