Doctrine\ODM\CouchDB\UnitOfWork::doDetach PHP Method

doDetach() private method

Executes a detach operation on the given entity.
private doDetach ( object $document, array &$visited )
$document object
$visited array
    private function doDetach($document, array &$visited)
    {
        $oid = spl_object_hash($document);
        if (isset($visited[$oid])) {
            return;
            // Prevent infinite recursion
        }
        $visited[$oid] = $document;
        // mark visited
        switch ($this->getDocumentState($document)) {
            case self::STATE_MANAGED:
                if (isset($this->identityMap[$this->documentIdentifiers[$oid]])) {
                    $this->removeFromIdentityMap($document);
                }
                unset($this->scheduledRemovals[$oid], $this->scheduledUpdates[$oid], $this->originalData[$oid], $this->documentRevisions[$oid], $this->documentIdentifiers[$oid], $this->documentState[$oid]);
                break;
            case self::STATE_NEW:
            case self::STATE_DETACHED:
                return;
        }
        $this->cascadeDetach($document, $visited);
    }