0

私がこのフォームを持っている場合:

フォーム---ユーザー名メールパスワード

また、生成された一意のIDを挿入する必要があります。

このコードは、ユーザー名、電子メール、およびパスワードをDBに保存します。私の質問は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

次のように、モデルに渡す前に、値を投稿データに挿入できます。

$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 に答える