如何使用表中不存在的属性创建CActiveRecord?

时间:2011-08-19 15:17:24

标签: php yii user-registration yii-cactiverecord

我的应用程序中有用户的活动记录模型,我希望将此模型重新用于用户注册表单。用户注册表单有一些我不想存储在数据库中的字段,例如密码和密码确认(我正在存储salt和hash)。有没有办法用我现有的用户活动记录模型做到这一点,还是应该为用户注册表单创建一个单独的表单模型?

1 个答案:

答案 0 :(得分:4)

您可以在模型中声明变量,然后使用方案属性为@Dan提及为它们添加规则。

你的模型看起来像:

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

,您在模型中的规则如下:

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

并且您可能还想使用CCompareValidator规则或类似方法来检查密码字段匹配。请参阅here