public function actionCreateFundacion() { $model = new Cuentas(); $modelsContactos = [new Contactos()]; if ($model->load(Yii::$app->request->post()) && $model->save()) { //$modelsContactos = Model::createMultiple(Contactos::classname(), $modelsContactos); $modelsContactos = Model::createMultiple(Contactos::classname()); Model::loadMultiple($modelsContactos, Yii::$app->request->post()); // validate all models $valid = $model->validate(); // No entiendo porque no se puede verificar y validar $valid = Model::validateMultiple($modelsContactos) && $valid; // Guardar Archivo Nuevo $nuevo_archivo = \common\models\Refactor::AgregaNuevoArchivo($model); // Agregando contactos if ($valid) { $transaction = \Yii::$app->db->beginTransaction(); try { if ($flag = $model->save(false)) { foreach ($modelsContactos as $modelContacto) { $modelContacto->cuenta_id = $model->cuentasid; if (!($flag = $modelContacto->save(false))) { $transaction->rollBack(); break; } } } if ($flag) { $transaction->commit(); return $this->redirect([\common\models\Refactor::TipoCuentabyVista($model->tipocuenta_id), 'id' => $model->cuentasid]); } } catch (Exception $e) { $transaction->rollBack(); } } } else { return $this->render('create-fundacion', ['model' => $model, 'modelsContactos' => empty($modelsContactos) ? [new Contactos()] : $modelsContactos]); } }