Bom dia.
Tenho de criar vários formulários dentro de tabs, tendo optado pelo CJuiTabs. Até eu consigo sem problema.
O meu problema está que em dois desses forms, um é para fazer update ao model Objectivos e o outro é para criar registos no mesmo model Objectivos recorrendo ao DynamicTabular Input.
Ao criar o formulário para o dynamicTabular Input tenho de criar um array do model objectivos, o que quando faço guardar gera um erro e não grava.
Os meus tabs:
<?php
$form=$this->beginWidget(‘DynamicTabularForm’,array(
'id'=>'default-parent-form',
'enableAjaxValidation'=>false,
));
?>
<?php
$tabs[‘Dados Pessoais’]=array(
'id'=>'dataFielsTab',
'content'=>$this->renderPartial('_formPag1',array(
'form'=>$form,
'model1'=>$model1,
'model2'=>$model2,
'colaborador'=>$colaborador,
),
true)
);
$tabs[‘Competências’]=array(
'id'=>'dataFielsCompet',
'content'=>$this->renderPartial('_formPag2',array(
'form'=>$form,
'items'=>$itemsCompet,
'modelCompet'=>$modelCompet,
'compet'=>$compet,
),
true)
);
$tabs[‘Objectivos Ano Anterior’]=array(
'id'=>'dataFielsObj',
'content'=>$this->renderPartial('_formPag3',array(
'form'=>$form,
'items'=>$items,
'model'=>$model,
),
true)
);
$tabs[‘Novos Objectivos’]=array(
'id'=>'definirObj',
'content'=>$this->renderPartial('_formPag4',array(
'form'=>$form,
'obj'=>$obj,
),
true)
);
$tabs['Acção de Formação']=array(
'id'=>'formacao',
'content'=>$this->renderPartial('_formPag5',array(
'form'=>$form,
'forma'=>$forma,
),
true)
);
$tabs['Resultado']=array(
'id'=>'resultado',
'content'=>$this->renderPartial('_formPag6',array(
'form'=>$form,
),
true)
);
$tabs['Comentários']=array(
'id'=>'comentarios',
'content'=>$this->renderPartial('_formPag7',array(
'form'=>$form,
'momento'=>$momento,
),
true)
);
$this->widget('zii.widgets.jui.CJuiTabs',array(
'tabs'=>$tabs,
'options'=>array(
'collapsible'=>false,
),
));
?>
<br>
<div style="margin-left: 930px">
<?php
$this->widget(‘zii.widgets.jui.CJuiButton’,array(
'name'=>'submit',
'caption'=>'Enviar',
'htmlOptions'=>array(
'style'=>'background:#006600;color:#ffffff;',
),
));
?>
No meu controller tenho o $model= new Objectivos(‘areaColaborador’);
e $obj= array(new Objectivos());
Como é que posso contornar esta situação?
O update é realizado pelo tabular input que tem na documentação do Yii.
Obrigada.