public function editarAction() { if ($this->getRequest()->isPost()) { $data = $this->getRequest()->getPost(); $ok = true; // disativa todos os precos do salao $modelEspecialidadePreco = new Model_DbTable_EspecialidadePreco(); $modelEspecialidadePreco->update(array('especialidade_preco_ativo' => 0), "salao_id = {$this->_auth->salao_id}"); Zend_Db_Table_Abstract::getDefaultAdapter()->beginTransaction(); foreach ($data['especialidade_preco'] as $key => $value) { if (!empty($value)) { try { $value = str_replace('.', '', $value); $value = str_replace(',', '.', $value); $data_insert = array('especialidade_id' => $key, 'salao_id' => $this->_auth->salao_id, 'especialidade_preco_preco' => $value); $modelEspecialidadePreco->insert($data_insert); } catch (Exception $ex) { $ok = false; $this->_helper->flashMessenger->addMessage(array('danger' => 'Houve um problema ao editar os preços. ' . $ex->getMessage())); Zend_Db_Table_Abstract::getDefaultAdapter()->rollBack(); } } } Zend_Db_Table_Abstract::getDefaultAdapter()->commit(); if ($ok) { $this->_helper->flashMessenger->addMessage(array('success' => 'Preços alterados com sucesso')); } $this->_redirect("/salao/preco"); } }