2012-05-09 2 views
4

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' в соответствии с условием

ответ

12

Использовать $model->emailsent='N';. Это все

+0

спасибо, я пытался $ модели -> $ emailsent = 'N'; это тоже не сработало. –

+0

Спасибо @ dInGd0nG !! Это сводило меня с ума!! – Gogol

+0

@DarshitGajjar почему '' 'на ваш атрибут' emailsent'? – JohnnyQ

5

Просто попробуйте $model->setAttribute($name,$value);

+0

Это очень полезно, если вы хотите, чтобы условия IN и т. Д. 1UP – Falcon