搜索
系统检测到您的用户名不符合规范:

自动完成$_auto的信息没有写入到数据库中的解决方法

浏览:1430 发布日期:2015年10月29日 分类:技术分享
自动完成$_auto的信息没有写入到数据库中,前两天碰到了这样的问题,解决了,总结一下,希望能够给需要的朋友一些参考:
因为在使用create()自动验证,自动完成后,我还要进行一些子数据处理操作,所以使用$data数组来传递数据,这个$data数据在自动完成前使用到,还要传递到自动完成之后,有一些处理技巧,请仔细看我的注释。

关键代码如下:
CustomController.php//获取表单数据
$data["memo"]=I("post.memo");
$data["userid"]=I("post.userid");
if($data["userid"]==""){
$this->error("请选择 "用户"");
}
$User = D("Userinfo");
//使用create()自动检测用户信息,并加入自动完成的内容
//插入时检测,数据源指定为$data(默认是$_POST)
$custom=$User->create($data,1);
//检测通过后的数据全部取出要在后面用到,使用$custom保存数据
if($custom!==false){
//此时$custom中的数据包括了$data的全部有效数据和自动完成的数据
//子数据处理操作
//创建我的客户信息
$rec=array();
$rec['pname']=I("post.pname");
$rec['pmob']=I("post.pmob");
//$custom["customid"],此数据要插入到主表Userinfo中
$custom["customid"] = M("custom")->add($rec);
//为$custom再新增一些其他数据
$custom["userid_new"]=session("user_auth.uid");//自动完成好象取不出session
//保存数据,创建主记录
//使用的数据源是$custom
$result = $User->add($custom);
if(false !== $result){
$this->success("新记录创建成功!",U("userInfo",array("id"=>$result)));
}else{
$this->error("记录创建失败,请稍后再试!");
}
}else{
$this->error($User->getError());
}
UserinfoModel.php protected $_validate=array(
array('memo','require','请填写 "注释"!'),
);
protected $_auto = array(
//这是要自动完成的数据,没找到解决方法之前怎么也插入不到数据库中,害死人啊!!
array('user_no', '333', self::MODEL_INSERT),
array('status', 1, self::MODEL_INSERT),
array('addtime', NOW_TIME, self::MODEL_INSERT),
);
(完)
最佳答案
评论() 相关
后面还有条评论,
评论支持使用[code][/code]标签添加代码
您需要登录后才可以评论 登录 | 立即注册
收藏
ycjnx8
积分:874 等级:LV2
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

AltStyle によって変換されたページ (->オリジナル) /