示例#1
0
 public function guardar(Etiquetas $etiqueta)
 {
     $id = (int) $etiqueta->getEtiquetasId();
     if ($id == "") {
         $data = array('etiquetas_nombre' => $etiqueta->getEtiquetasNombre());
         $this->tableGateway->insert($data);
         $lastId = $this->tableGateway->adapter->getDriver()->getConnection()->getLastGeneratedValue();
         return $lastId;
     } else {
         if ($this->obtenerPorId($id)) {
             $data = array('etiquetas_nombre' => $etiqueta->getEtiquetasNombre());
             $this->tableGateway->update($data, array('etiquetas_id' => $id));
             return $id;
         } else {
             echo "<pre>";
             var_dump('error');
             exit;
             throw new \Exception('El Id no existe!');
         }
     }
 }
示例#2
0
 public function guardar($formData)
 {
     $db = $this->etiquetasTableGateway->adapter;
     $con = $db->getDriver()->getConnection();
     $con->beginTransaction();
     $etiqueta = new Etiquetas();
     $etiqueta->exchangeArray($formData);
     $etiquetasDAO = new EtiquetasDAO($this->etiquetasTableGateway);
     try {
         $resExistente = $etiquetasDAO->obtenerPorNombre($etiqueta->getEtiquetasNombre());
         $objetosEtiquetasDAO = new ObjetosEtiquetasDAO($this->objetosEtiquetasTableGateway);
         if ($resExistente->count() == 0) {
             //guarda la etiqueta
             $eti = $etiquetasDAO->guardar($etiqueta);
             $bjetosEtiquetas = new ObjetosEtiquetas();
             $bjetosEtiquetas->setObjetosId($formData["objetos_id"]);
             $bjetosEtiquetas->setEtiquetasId($eti);
             // guarda la relacion
             $relacion = $objetosEtiquetasDAO->guardar($bjetosEtiquetas);
         } else {
             foreach ($resExistente as $key => $value) {
                 $res = $value;
             }
             $relacion = $objetosEtiquetasDAO->obtenerPorRelacion($formData["objetos_id"], $res->getEtiquetasId());
             if ($relacion->count() == 0) {
                 //solo relaciona la etiqueta
                 $bjetosEtiquetas = new ObjetosEtiquetas();
                 $bjetosEtiquetas->setObjetosId($formData["objetos_id"]);
                 $bjetosEtiquetas->setEtiquetasId($res->getEtiquetasId());
                 $relacion = $objetosEtiquetasDAO->guardar($bjetosEtiquetas);
             }
         }
         $con->commit();
     } catch (\Exception $e) {
         $con->rollback();
         $eti = 0;
     }
     unset($etiquetasDAO);
     unset($etiqueta);
     return $eti;
 }