public function suppliereditsaveAction() { $params = $this->_request->getParams(); $columnssupplier = $this->_model->info(Zend_Db_Table_Abstract::COLS); $supplysupplierModel = new SupplysupplierModel(); $columnssupply = $supplysupplierModel->info(Zend_Db_Table_Abstract::COLS); $supplies = $this->_request->getParam("supply"); $delids = $this->_request->getParam("delids"); $supplies = json_decode($supplies); $delids = json_decode($delids); $array = array(); $this->_model->getAdapter()->beginTransaction(); try { if (isset($delids)) { foreach ($delids as $value) { $supplysupplierModel->delete('cdsupplysupplier = ' . $value); } } foreach ($params as $id => $value) { if (isset($value) && $value != '' && in_array($id, $columnssupplier)) { $array[$id] = addslashes($value); } } $this->_model->update($array, 'cdsupplier = ' . $params["cdsupplier"]); foreach ($supplies as $row) { $arraySupplies = array(); $arraySuppliesUpdate = array(); if ($row->cdsupplysupplier == '') { $arraySupplies = array('cdsupply' => $row->cdsupply, 'cdsupplier' => $params["cdsupplier"], 'qtquantity' => $row->qtdemes, 'vlunitprice' => $row->unitpricing); $supplysupplierModel->insert($arraySupplies); } else { $arraySuppliesUpdate = array('cdsupplysupplier' => $row->cdsupplysupplier, 'cdsupply' => $row->cdsupply, 'cdsupplier' => $params["cdsupplier"], 'qtquantity' => $row->qtdemes, 'vlunitprice' => $row->unitpricing); $supplysupplierModel->update($arraySuppliesUpdate, 'cdsupplysupplier = ' . $row->cdsupplysupplier); } } $message = "Cadastro efetuado com sucesso."; $this->_model->getAdapter()->commit(); } catch (Exception $e) { $this->_model->getAdapter()->rollBack(); $message = "Erro na inserção dos dados."; $message = $e->getMessage(); } $this->view->message = $message; }