studyyii 2012-09-27 10:38:19 3701次浏览 3条回复 0 0 0

请问,我在添加用户的时候,密码字段是必填的,但在更新用户的时候,想实现密码字段不填则不修改密码 。。 rules 方法里要怎么设置? 前后台分开的,前台也可以修改密码 。

  • 回复于 2012-09-27 11:05 举报

    如果非要分开设置rules方法,可以使用场景。
    或者也可以:在后台更新用户时,把用户密码加载到文本框里,然后将如下方法写在model里的beforeSave()方法里,

    if(!$this->isNewRecord){//更新记录
        $old = self::model()->findByPk($this->id);
        //密码若发生改变,就更新
        if($this->password == '')
            $this->password = $old->password;
        if($this->password !== $old->password) 
            $this->password = $this->makePassword($this->password);	
    }
    
  • 回复于 2012-09-27 13:56 举报

    谢谢,采用了你的思路方法,已决解

  • 回复于 2012-09-28 02:44 举报

    这个东西如果用dao模式是很好解决的~~

您需要登录后才可以回复。登录 | 立即注册