Как мне создать CActiveRecord с атрибутами, которых нет в таблице? - PullRequest
1 голос
/ 19 августа 2011

В моем приложении есть модель активной записи для пользователей, и я надеялся повторно использовать эту модель для формы регистрации пользователей.Форма регистрации пользователя имеет несколько полей, которые я не хочу хранить в базе данных, например пароль и подтверждение пароля (вместо этого я храню соль и хеш).Есть ли способ сделать это с моей существующей моделью активной записи пользователя, или я должен создать отдельную модель формы для формы регистрации пользователя?

1 Ответ

4 голосов
/ 19 августа 2011

Вы можете объявить переменные в вашей модели и затем добавить для них правила, используя атрибут сценария, как упомянуто @Dan.

Ваша модель будет выглядеть примерно так:

class User extends CActiveRecord
{
    public $password_confirm;
    public $password_hash;
    ...

и вашаПравило в модели будет выглядеть так:

array('password, password_confirm', 'required', 'on'=>'register')

, и вы также можете использовать правило CCompareValidator или подобное для проверки совпадения полей пароля.Смотри здесь .

...