public function editarAction() { //ID ENTIDAD $id = $this->params()->fromRoute('id'); $request = $this->getRequest(); if ($request->isPost()) { $post_data = $request->getPost(); //INSTANCIAMOS NUESTRA ENTIDAD $entity = \ProveedoritradeQuery::create()->findPk($id); //SETIAMOS NUESTROS DATOS CON EXCEPCIONES foreach ($post_data as $key => $value) { if (\ProveedoritradePeer::getTableMap()->hasColumn($key)) { $entity->setByName($key, $value, \BasePeer::TYPE_FIELDNAME); } } $entity->save(); //Agregamos un mensaje $this->flashMessenger()->addSuccessMessage('Registro guardado exitosamente!'); //REDIRECCIONAMOS A LA ENTIDAD QUE ACABAMOS DE CREAR return $this->redirect()->toRoute('admin/catalogo/proveedores', array('action' => 'editar', 'id' => $entity->getIdproveedoritrade())); } $exist = \ProveedoritradeQuery::create()->filterByIdproveedoritrade($id)->exists(); if ($exist) { $entity = \ProveedoritradeQuery::create()->findPk($id); //INSTANCIAMOS NUESTRO FORMULARIO $form = new \Catalogo\Form\ProveedorForm(); $form->setData($entity->toArray(\BasePeer::TYPE_FIELDNAME)); //LOS ARCHIVOS $files = \ProveedoritradearchivoQuery::create()->filterByIdproveedoritrade($entity->getIdproveedoritrade())->find(); $files_array = array(); $file = new \Proveedoritradearchivo(); foreach ($files as $file) { $file_path = $file->getProveedoritradearchivoArchivo(); $file_name = explode('files/proveedores/' . $entity->getIdproveedoritrade() . '/', $file->getProveedoritradearchivoArchivo()); $tmp['id'] = $file->getIdproveedoritradearchivo(); $tmp['name'] = $file_name[1]; $tmp['size'] = $file->getProveedoritradearchivoSize(); $tmp['type'] = mime_content_type($_SERVER['DOCUMENT_ROOT'] . '/' . $file->getProveedoritradearchivoArchivo()); $files_array[] = $tmp; } //RETORNAMOS A NUESTRA VISTA $view_model = new ViewModel(); $view_model->setTemplate('admin/catalogo/proveedor/editar'); $view_model->setVariables(array('entity' => json_encode($entity->toArray(\BasePeer::TYPE_FIELDNAME)), 'successMessages' => json_encode($this->flashMessenger()->getSuccessMessages()), 'files' => json_encode($files_array), 'form' => $form)); return $view_model; } else { return $this->redirect()->toRoute('admin/catalogo/proveedores', array('action' => 'index')); } }