public function actionUpdate($id)
{
$model=$this->loadModel($id);
$this->performAjaxValidation($model);
if(isset($_POST['Product']))
{
$model->attributes=$_POST['Product'];
if($model->save())
{
$this->redirect(array('view','id'=>$model->id));
}
}
$this->render('update',array(
'model'=>$model,
));
}
Oczywiście w tabeli również dodałem pole o tej samej nazwie. Model nie ma problemu z pobieraniem tej wartości. Niestety próba aktualizacji wartości nie przynosi żadnego skutku. Sprawdziłem w firebugu i w nagłówku POST, pole istnieje z poprawną wartością. Co może być przyczyną tego że aplikacja nie chce ze mną współpracować?
Każde pole musi mieć regułę walidacji przy masowym ($model->attributes = $_POST[‘Product’]) przypisywaniu wartości z POST do modelu (ze względów bezpieczeństwa) - jeśli zrobisz to ręcznie - czyli w kontrolerze $model->archive = $_POST[‘Product’][‘archive’] to reguła walidacji nie musi być określona.