public function getIdAccionEspecifica() { return $this->hasOne(AcAcEspec::className(), ['id' => 'id_ac_esp']); }
public function getAccionesEspecificas() { return $this->hasMany(AcAcEspec::className(), ['id_ac_centr' => 'id']); }
/** * operacion para revertir algun cambio hecho al modelo * @param integer $id * @return Mixed */ public function actionRevertir($id) { // buscamos los modelos $post1 = AuditTrail::findOne($id); $post = AcAcEspec::findOne($post1->model_id); //si esta vacio el modelo es por que fue borrado if ($post != null) { //buscamos la ultima version $attributes = Version::lastVersion($post->className(), $post->id); //cargamos los datos de la ultima version $post = Version::find($post->className(), $post->id, $attributes); //solo para el caso de modelos que tenga fecha, formatear la fecha $post->fecha_inicio = date_create($post->fecha_inicio); $post->fecha_fin = date_create($post->fecha_fin); $post->fecha_inicio = date_format($post->fecha_inicio, 'Y-m-d'); $post->fecha_fin = date_format($post->fecha_fin, 'Y-m-d'); } else { //en que caso que fue borrado se busca la ultima version por medio del id almacenado en el modelo trail $attributes = Version::lastVersion(AcAcEspec::className(), $post1->model_id); //cargamos los datos $post = Version::find(AcAcEspec::className(), $post1->model_id, $attributes); //solo en caso de modelos q tengan fecha $post->fecha_inicio = date_create($post->fecha_inicio); $post->fecha_fin = date_create($post->fecha_fin); $post->fecha_inicio = date_format($post->fecha_inicio, 'Y-m-d'); $post->fecha_fin = date_format($post->fecha_fin, 'Y-m-d'); } if (!$post->save()) { return $this->redirect('index.php?r=audit/trail'); } else { return $this->redirect('index.php?r=audit/trail'); } }