Buenas tardes comunidad estoy teniendo el siguiente problema , tengo un controlador que me carga dos modelos clients y clientsviewpermission , al momento de guardar lo hace muy bien guarda en las dos tablas respectivamente,pero cuando se realiza el update me crea nuevamente otros dos registros como si estuviera creando en vez de actulizando. Lo que nesesito es que me actulize el modelo clients pero en clientsviewpermission si adicione otro registro
CONTROLADORES
public function actionCreate()
{ $modelo2=new ClientViewPermissions;
$model=new Clients;
$ids =Yii::app()->user->id ;
if(empty($model->user_id)) {
$model->user_id = $ids;
}
// Uncomment the following line if AJAX validation is needed
// $this->performAjaxValidation($model);
if(isset($_POST['Clients'],$_POST['ClientViewPermissions']))
{
$model->attributes=$_POST['Clients'];
$modelo2->attributes=$_POST['ClientViewPermissions'];
$valid= $model->validate();
$valid=$modelo2->validate() && $valid;
if($valid){
if($model->save()){
$modelo2->client_id= $model->id;
if($modelo2 -> save())
$this->redirect(array('admin','id'=>$model->id));
}
}
}
$this->render('create',array(
'model'=>$model,
'modelo2'=>$modelo2,
));
}
public function actionUpdate($id)
{
$model=$this->loadModel($id);
$modelo2 = ClientViewPermissions :: model () -> findByAttributes (array ( 'client_id' => $model -> id));
if(isset($_POST['Clients'],$_POST['ClientViewPermissions']))
{
$modelo2->attributes=$_POST['ClientViewPermissions'];
$valid=$model->validate();
$valid=$modelo2->validate() && $valid;
$model->setIsNewRecord(false);
if ($model->update()&& $modelo->save()) {
if (! empty ($modelo2)) {
$modelo2->client_id= $model->id;
$modelo2->save();
}
$this->redirect(array('view','id'=>$model->id));
}
}
$this->render('update',array('model'=>$model,'modelo2'=>$modelo2));
}
PD: La base de datos no es relacional