public function save() { $post = $this->_post(NULL, TRUE); try { if (is_array($post)) { $producto = NomProductoTable::getInstance()->find($post['producto_id']); if (!$producto) { $msg = "Producto no encontrado."; return $this->_jsonResponse(array("msg" => $msg), 404, $msg); } $nivelAct = BalanceAlimTable::getInstance()->find($post['balance_alim_id']); if (!$nivelAct) { $msg = "Balance no encontrado."; return $this->_jsonResponse(array("msg" => $msg), 404, $msg); } if ($post['id']) { $databaseModel = $this->_getTable()->find($post['id']); if (!$databaseModel) { $msg = "BD no encontrado."; return $this->_jsonResponse(array("msg" => $msg), 404, $msg); } } else { $databaseModel = new BaseDatos(); } $databaseModel->fromArray($post, false); $databaseModel->set('Producto', $producto); $databaseModel->set('BalanceAlim', $nivelAct); $databaseModel->save(); $this->_jsonResponse($databaseModel->toArray()); } } catch (Exception $exc) { log_message('error', $exc->getMessage()); log_message('error', $exc->getTraceAsString()); $this->_jsonResponse(array("msg" => "Ha ocurrido un error mientras se intentaba guardar BD"), 500); } }