public function actionChange() { $model = new RangoPersonas(); $listaCambios = ''; if ($model->load(Yii::$app->request->post()) && $model->validate()) { // Comienza Transaccion $transaction = Yii::$app->db->beginTransaction(); try { $c = Accesos::updateAll(['id_persona' => $model->idPersonaHasta], ['id_persona' => $model->idPersonaDesde]); if ($c > 0) { $listaCambios .= '<p><i>Accesos:</i> cantidad de cambios realizados -> ' . $c . '</p>'; } $c = AccesosAutorizantes::updateAll(['id_persona' => $model->idPersonaHasta], ['id_persona' => $model->idPersonaDesde]); if ($c > 0) { $listaCambios .= '<p><i>Accesos (autorizantes):</i> cantidad de cambios realizados -> ' . $c . '</p>'; } $c = Autorizantes::updateAll(['id_persona' => $model->idPersonaHasta], ['id_persona' => $model->idPersonaDesde]); if ($c > 0) { $listaCambios .= '<p><i>Autorizantes:</i> cantidad de cambios realizados -> ' . $c . '</p>'; } $c = Llaves::updateAll(['id_persona' => $model->idPersonaHasta], ['id_persona' => $model->idPersonaDesde]); if ($c > 0) { $listaCambios .= '<p><i>Llaves (personas):</i> cantidad de cambios realizados -> ' . $c . '</p>'; } $c = Llaves::updateAll(['id_autorizante' => $model->idPersonaHasta], ['id_persona' => $model->idPersonaDesde]); if ($c > 0) { $listaCambios .= '<p><i>Llaves (autorizantes):</i> cantidad de cambios realizados -> ' . $c . '</p>'; } $c = Mensajes::updateAll(['model_id' => $model->idPersonaHasta], ['model_id' => $model->idPersonaDesde, 'model' => 'frontend\\models\\Personas']); if ($c > 0) { $listaCambios .= '<p><i>Mensajes:</i> cantidad de cambios realizados -> ' . $c . '</p>'; } $c = UfTitularidadPersonas::updateAll(['id_persona' => $model->idPersonaHasta], ['id_persona' => $model->idPersonaDesde]); if ($c > 0) { $listaCambios .= '<p><i>Titularidad:</i> cantidad de cambios realizados -> ' . $c . '</p>'; } if ($listaCambios == '') { $listaCambios = '<p>No se ha realizado ningún cambio. Controle los IDs de personas utilizados.</p>'; } $transaction->commit(); } catch (\Exception $e) { $transaction->rollBack(); Yii::$app->session->addFlash('danger', 'Hubo un error en la grabación'); throw $e; } // try..catch } return $this->render('change', ['model' => $model, 'listaCambios' => $listaCambios]); }
/** * @return \yii\db\ActiveQuery */ public function getLlaves() { return $this->hasMany(Llaves::className(), ['id_autorizante' => 'id']); }