そんな時は、モデルのafterSaveメソッドを使って一発登録することができます。
// APP/models/user.php
function afterSave($created)
{
// 新規登録時自動的にusernameを作成
if ($created) {
$username = $this->createUsername();
$this->saveField('username', $username);
}
}
function createUsername()
{
// ランダムでユーザー名を作成するコード
}
コントローラで$this->User->save($data)を実行すれば、自動的にユーザー名を登録することができます。
Model::afterSaveメソッドの引数$createdは
INSERT時にはtreu、それ以外の場合はfalseが代入されます。
このサンプルの場合、ユーザー情報を編集してもユーザー名は変更されません。
0 件のコメント:
コメントを投稿