如何更改控制器中的$ model->属性值 - Yii

时间:2012-05-09 07:23:50

标签: controller yii yii-components

UserMasterController代码:

public function actionUpdate($id){

    $model=$this->loadModel($id);

    if(isset($_POST['UserMaster'])){
        $model->attributes=$_POST['UserMaster'];
        $model->attributes['emailsent'] = 'N';

        if($model->save())
            $this->redirect(array('admin'));
    }

    $this->render('update',array(
        'model'=>$model,
    ));
}

给我一​​个错误的行是:$model->attributes['emailsent'] = 'N';

  

错误:间接修改重载属性UserMaster::$attributes无效

如何更改属性值?我只想根据条件

将其设置为'Y''N'

2 个答案:

答案 0 :(得分:12)

使用$model->emailsent='N';。多数民众赞成

答案 1 :(得分:5)

试试这个$model->setAttribute($name,$value);