public function salvare(Interattivo $interattivo) { $data = array('nome' => $interattivo->getNome(), 'messaggio' => $interattivo->getMessaggio(), 'color' => $interattivo->getColor(), 'xyz' => $interattivo->getXyz(), 'tipo' => $interattivo->getTipo(), 'sessione' => $interattivo->getSessione(), 'data' => $interattivo->getData(), 'stato' => $interattivo->getStato(), 'categoria' => $interattivo->getCategoria()); if ($interattivo->getPosterlab() !== null) { $data['posterlab_id'] = $interattivo->getPosterlab()->getId(); } $id = (int) $interattivo->getId(); if ($id == 0) { $this->tableGateway->insert($data); } else { if ($this->tuttiPerId($id)) { $this->tableGateway->update($data, array('id' => $id)); } else { throw new \Exception('ID form non esistente'); } } $ids = $this->tableGateway->lastInsertValue; return $ids; }