public function actionUpdate($id)
{
$model=$this->loadModel($id);
// Uncomment the following line if AJAX validation is needed
//$this->performAjaxValidation($model);
if(isset($_POST['Paineis']))
{
$model->attributes=$_POST['Paineis'];
if($model->save())
$this->redirect(array('view','id'=>$model->pai_id));
}
$this->render('update',array(
'model'=>$model,
));
}
Foi gerada automaticamente na criação do CRUD pelo Gii.
public function loadModel($id)
{
$model=Paineis::model()->findByPk($id);
if($model===null)
throw new CHttpException(404,'The requested page does not exist.');
return $model;
}
Isso me deu um estalo e revi todos os métodos e funções do controller. Eu havia feito isto, mas passou aos meus olhos um erro.
Constatei que a actionView estava recebendo um parâmetro errado.
Ao invés de receber $id, estava como $painelID…
Código correto:
public function actionView($id)
{
$this->render('view',array(
'model'=>$this->loadModel($id),
));
}
Works like a charm… Como dizem os gringos…rss
Para ajudar aos próximos que fizerem cagada algo errado, como eu fiz, ou desejarem realmente mudar o nome do atributo por algum motivo e estejam utilizando o urlManager deixo uma dica:
Altere no main.php o "nomedoparametrodesejado" abaixo.