<?php
/**
* 用户与用户信息表关联模型
*/
//声明命名空间
namespace Home\Model;
//引入父类模型
use Think\Model\RelationModel;
//声明模型并继承父类模型
class UserModel extends RelationModel{
//定义用户与用户信息表关联关系
protected $_link = array(
//关联1,关联表userinfo
'userinfo' => array(
'mapping_type' => self::HAS_ONE,
'class_name' => 'Profile',
'foreign_key ' => 'uid',
),
);
/**
* 自动插入的方法
*/
public function insert($data=NULL){
//$data是否为空,空的话接收post传过来的值,不为空接收$data的值。
$data = is_null($data) ? I('post.') : $data;
//返回写入情况的值,成功返回id号,失败返回fales
return $this -> relation(true) -> add($data);
}
}//注册表单处理
public function runRegis(){
if(!IS_POST){
$this -> error('页面不存在','register',1);
}else{
//验证码校验
$verify = new \Think\Verify();
if($verify->check($_POST['verify'])){
//成功
//校验两次输入的密码是否一致
if(!$_POST['pwd'] = $_POST['pwded']){
$this -> error('两个密码不一致','register');
}
//提取数据,将post提交过来的数据与数据库表名映射一致
$data = array(
//用户名
'account' => $_POST['account'],
//密码md5加密
'password' => md5($_POST['pwd']),
//创建时间戳
'registime' => $_SERVER['REQUEST_TIME'],
//昵称
'userinfo' => array(
'username' => $_POST['uname'],
),
);
// dump($data);die;
$id = D('User') -> insert($data);
dump($id);
// $password=md5(trim($_POST['password']));
//处理数据
//写入数据库
//跳转到登录界面
}else{
//失败,跳转回注册页
$this -> error('验证码错误','register');
}
}
}关联模型主表执行成功,关联表没有数据插入。求大神帮忙解答一下。
最佳答案