public function editarAction() { $id = (int) $this->params()->fromRoute('id', 0); if (!$id) { return $this->redirect()->toRoute('cargoconsulta', array('action' => 'nuevo')); } //Instanciamos nuestra cargoconsultaQuery $cargoconsultaQuery = CargoconsultaQuery::create(); //Verificamos que el Id cargoconsulta que se quiere modificar exista if ($cargoconsultaQuery->create()->filterByIdcargoconsulta($id)->exists()) { $request = $this->getRequest(); //Instanciamos nuestra cargoconsultaQuery $cargoconsultaPKQuery = $cargoconsultaQuery->findPk($id); $cargoconsultaQueryArray = $cargoconsultaPKQuery->toArray(BasePeer::TYPE_FIELDNAME); $CargoconsultaForm = new CargoconsultaForm(); $ElementsCargoconsultaForm = $CargoconsultaForm->getElements(); if ($request->isPost()) { $CargoconsultaArray = array(); foreach ($ElementsCargoconsultaForm as $key => $value) { if ($key != 'submit') { $CargoconsultaArray[$key] = $request->getPost()->{$key} ? $request->getPost()->{$key} : $cargoconsultaQueryArray[$key]; } } } else { foreach ($cargoconsultaQueryArray as $cargoconsultaQueryKey => $cargoconsultaQueryValue) { $CargoconsultaArray[$cargoconsultaQueryKey] = $cargoconsultaQueryArray[$cargoconsultaQueryKey]; } } $CargoconsultaFilter = new CargoconsultaFilter(); $CargoconsultaForm->setInputFilter($CargoconsultaFilter->getInputFilter()); $CargoconsultaForm->setData($CargoconsultaArray); if ($CargoconsultaForm->isValid()) { foreach ($CargoconsultaForm->getData() as $CargoconsultaKey => $CargoconsultaValue) { if ($CargoconsultaKey != 'submit') { $cargoconsultaPKQuery->setByName($CargoconsultaKey, $CargoconsultaValue, BasePeer::TYPE_FIELDNAME); } } // Si no modifican nada, permanecemos en el formulario. if ($cargoconsultaPKQuery->isModified()) { $cargoconsultaPKQuery->save(); return $this->redirect()->toRoute('cargoconsulta'); } } else { $messageArray = array(); foreach ($CargoconsultaForm->getMessages() as $key => $value) { foreach ($value as $val) { //Obtenemos el valor de la columna con error $message = $key . ' ' . $val; array_push($messageArray, $message); } } return new ViewModel(array('Error' => $messageArray)); } } return array('id' => $id, 'cargoconsultaForm' => $CargoconsultaForm); }