又遇到问题了,关于场景 [ 新手入门 ]
场景是怎么来的?
比方说控制器
class User extends CActiveRecord{}
中
public function rules()
{
return array(
array('username,email,password,password2', 'required'),
array('username', 'length', 'min'=>6, 'max'=>24),
array('email', 'email'),
array('password', 'length', 'min'=>6, 'max'=>16),
array('password', 'compare', 'compareAttribute'=>'password2', 'on'=>'register'),
);
}
username,email,password,都是必须的,然后注册的时候这样没问题,但是后来,我在更新的时候,就会出现问题(不成功)
$user=User::model()->findByPk($id);
$user->email=’new email’;
$user->save();
这个是不是就是因为没定义场景引起的?
书上说:'on'=>'场景' 是可选的, 场景是在初始化某个具体的 CActiveRecord 类时通过构造函数设定的。
这个意思是不是就是,我在用的时候,需要这样 $model=new User('update');
然后在控制器内array('username,email,password,password2', 'required','on'=>'update')
,
写上相当对的 on=>update
?
也就是说这个 update 就是一个场景。并且这个场景的名字 update 是我们自己定义的,想取啥名取啥名,且与控制器里面的actionLogin等等之类的action没有半毛钱的关系?
共 2 条回复
zcyxm
注册时间:2012-05-11
最后登录:2021-04-11
在线时长:152小时12分
最后登录:2021-04-11
在线时长:152小时12分
- 粉丝18
- 金钱37226
- 威望60
- 积分39346