/** * Método que salva uma avaliação de um determinado extra * @param AnexosAvaliacao $avaliacao * @throws Exception */ public function avaliar(AnexosAvaliacao $avaliacao) { $select = new Select(); $ava = $this->tableGatway->selectObj($select->where(array("anexos_ava_fk_anexo" => $avaliacao->getAnexo()->getId(), "anexos_ava_fk_usuario" => $avaliacao->getUsuario()->getId()))); if ($ava->rowCount()) { $aval = $ava->fetch(); return $this->tableGatway->update("pk_anexos_ava={$aval->getId()}", array("anexos_ava_nota" => $avaliacao->getNota())); } else { return $this->tableGatway->insert(array("anexos_ava_fk_anexo" => $avaliacao->getAnexo()->getId(), "anexos_ava_fk_usuario" => $avaliacao->getUsuario()->getId(), "anexos_ava_nota" => $avaliacao->getNota(), "anexos_ava_dt" => $avaliacao->getDtHora()->format("Y-m-d G:i:s"))); } }