我都不知道改用form model还是active record了

按照手册的说法,If the user input is collected, used and then discarded, we would create a form model; if the user input is collected and saved into database, we would use an active record instead.

但是做用户注册,有很多选项是数据库里面没有的

比如重复填写2此密码,必须勾选注册协议

我是应该用form还是ar呢?还是一个form model调用一个ar model呢?

同问!

尝试用form model来处理,你会发觉真的很爽的

根据需要而定。对于用户注册,如果你的表单有很多非字段的输入,你可以考虑继承User model,专门用一个RegisterForm。如果只有一两个非字段输入,就直接用User model好了。如果你的表单输入基本和数据库无关(比如contact form),那么最好继承CFormModel。

意思是ar类可以定义不属于数据表中的property,并应用rules到这些property中?

我原来一直以为ar只能定义数据表中的column

感谢强哥

建议将所有涉及用户输入的部分全部用formodel,这样从逻辑上说更加清晰

这两天想了下还是用formmodel调用ar比较好