/** * Verwijder een bepaald DomainObject uit de databank. * * Implementeert Optimist Offline Locking, indien het object gewijzigd is door iemand anders sinds het geladen werd wordt er een Exception gegenereerd. * @param KVDdom_DomainObject $domainObject Het DomainObject dat moet verwijderd worden. * @throws KVDdom_ConcurrencyException */ public function delete($domainObject) { try { $currentVersie = $domainObject->getSystemFields()->getVersie(); $this->LogInsert($domainObject->getId()); $stmt = $this->_conn->prepare($this->getDeleteStatement()); $this->doSetUpdateWhere($stmt, $domainObject->getId(), $currentVersie, 1); $stmt->execute(); } catch (PDOException $e) { throw KVDdom_ExceptionConvertor::convert($e, $domainObject); } if ($stmt->rowCount() === 0) { $message = 'Het object dat u probeert te verwijderen is gewijzigd sinds u het geopend hebt. U hebt geprobeerd om versie ' . $currentVersie . ' te verwijderen.'; throw new KVDdom_ConcurrencyException($message, $domainObject); } }
/** * delete * * @param KVDthes_Term $term * @return KVDthes_Term */ public function delete(KVDthes_Term $term) { try { $sql = sprintf('DELETE FROM %s.term WHERE thesaurus_id = %s AND id = ?', $this->parameters['schema'], $this->parameters['thesaurus_id']); $stmt = $this->conn->prepare($sql); $stmt->bindValue(1, $term->getId(), PDO::PARAM_INT); $stmt->execute(); } catch (PDOException $e) { throw KVDdom_ExceptionConvertor::convert($e, $term); } return $term; }
/** * Verwijder een bepaald DomainObject uit de databank. * * Deze versie kent geen concurrency control. Voor Optimistic Offline Concurrency moeten we bij KVDdom_PDOLogableDataMapper zijn. * @param KVDdom_DomainObject $domainObject Het DomainObject dat moet verwijderd worden. * @throws PDOException Indien er een databank probleem optreed. */ public function delete($domainObject) { try { $stmt = $this->_conn->prepare($this->getDeleteStatement()); $stmt->bindValue(1, $domainObject->getId(), PDO::PARAM_INT); $stmt->execute(); } catch (PDOException $e) { throw KVDdom_ExceptionConvertor::convert($e, $domainObject); } }