开发者

How do I create a CActiveRecord with attributes not present in the table?

I have an Active Record Model for Users in my application, and I was hoping to re-use this model for the user registration form. The user registration form has a few fields which I don't want to store in the database, such as the password and password confirmation (I'm storing a salt and a hash instead). Is there a way to do this with my existing User Active Record Model, or should I create开发者_高级运维 a separate Form Model for the User registration form?


You can declare the variables in your model and then add rules for them using the scenario attribute as @Dan mentioned.

You model would look something like:

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

and your rule in the model would look like:

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

and you also might want to use the CCompareValidator rule or similar to check the password fields match. See here.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜