模型用 create 新增记录的疑问

浏览:521 发布日期:2017/03/25 分类:ThinkPHP5专区
在TP5中,可以用 create 插入一条记录,返回值为对象,但是使用中发现返回的对象不含该记录的全部数据,若想获得其它数据,是否只能用 id 查询得到新对象?

举个例子说明:
user 表有以下字段:
`id`,`login_name`,`pwd`,`sex`,`user_name`,`true_name`,`brithday`,`photo`,`qq`,`phone`,`email`,`score`,`total_score`,`last_ip`,`last_time`,`user_from`,`money`,`lock_loney`,`status`,`data_flag`,`create_time`,`pay_pwd`

在模型中使用以下语句增加一条记录:    public function addUser($loginName, $nameType, $loginPwd)
    {
        $data = array();
        $data['login_name'] = $loginName;
        $data['pwd'] = password_hash($loginPwd, PASSWORD_DEFAULT);
        $data['last_ip'] = request()->ip();
        $data['create_time'] = date('Y-m-d H:i:s');
        $data['last_time'] = date('Y-m-d H:i:s');
    
        if ($nameType == 1)
        {    // 邮箱注册
            $data['email'] = $loginName;
        } elseif ($nameType == 3) {    // 手机注册
            $data['phone'] = $loginName;
        }
        
        return User::create($data);
    }
调用该方法的语句为:// 增加用户
$mUser = $this->addUser(input('param.loginName'), input('param.nameType'), input('param.loginPwd'));
$rank = $mUserRank->getRank($user['score']);
结果提示 score 元素不存在(Undefined index: score)

如果我在接下来的语句中想使用该记录的 score 值查询等级信息,是否只能先用 id 查到完整的 User 对象,然后获得 score?
最佳答案
评论( 相关
后面还有条评论,点击查看>>