0

如果我有这个表格:

表格---用户名邮箱密码

而且我还需要插入一个生成的唯一 ID。

此代码将用户名、电子邮件和密码保存在数据库中。我的问题是关于codeLink。

$user_arr = $this->request->data;
$this->User->save($user_arr)

还有另一种(简单的)方法,或者我应该做这样的事情?

$username = $user_arr['User']['username'];
$email = $user_arr['User']['email'];
$password = $user_arr['User']['password'];
$codeLink = uniqid();

$user_arr = array('User'=>array('username'=>$username, 'email'=>$email, 'password'=>$password, '$code'=>$codeLink));
4

1 回答 1

2

您可以在将值传递给模型之前将值注入到 post 数据中,如下所示:

$this->request->data['User']['codeLink'] = unqueid(); // <-- this line
$this->User->create($this->request->data);
if ($this->User->save()) {
} else {
}

不过,这类事情应该转移到模型中。

class User extends AppModel {

    public function register($data) {
        $data[$this->alias]['codeLink'] = uniqueid();
        $this->create($data);
        return $this->save();
    }

}

// your controller

if ($this->User->register($this->request->data) {}...
于 2012-08-13T18:18:44.670 回答