public function scheduleForDelete(object $document) : void
    {
        $oid = spl_object_hash($document);

        if (isset($this->documentInsertions[$oid])) {
            if ($this->isInIdentityMap($document)) {
                $this->removeFromIdentityMap($document);
            }
            unset($this->documentInsertions[$oid]);
            return; // document has not been persisted yet, so nothing more to do.
        }

        if (! $this->isInIdentityMap($document)) {
            return; // ignore
        }

        $this->removeFromIdentityMap($document);
        $this->documentStates[$oid] = self::STATE_REMOVED;

        if (isset($this->documentUpdates[$oid])) {
            unset($this->documentUpdates[$oid]);
        }
        if (isset($this->documentDeletions[$oid])) {
            return;
        }

        $this->documentDeletions[$oid] = $document;
    }
public function scheduleForDelete(object $document) : void
    {
        $oid = spl_object_hash($document);

        if (isset($this->documentInsertions[$oid])) {
            if ($this->isInIdentityMap($document)) {
                $this->removeFromIdentityMap($document);
            }
            unset($this->documentInsertions[$oid]);
            return; // document has not been persisted yet, so nothing more to do.
        }

        if (! $this->isInIdentityMap($document)) {
            return; // ignore
        }

        $this->removeFromIdentityMap($document);
        $this->documentStates[$oid] = self::STATE_REMOVED;

        if (isset($this->documentUpdates[$oid])) {
            unset($this->documentUpdates[$oid]);
        }
        if (isset($this->documentDeletions[$oid])) {
            return;
        }

        $this->documentDeletions[$oid] = $document;
    }
public function scheduleForDelete ( object $ document ) : void { $ oid = spl_object_hash ( $ document ) ; if ( isset ( $ this -> documentInsertions [ $ oid ] ) ) { if ( $ this -> isInIdentityMap ( $ document ) ) { $ this -> removeFromIdentityMap ( $ document ) ; } unset ( $ this -> documentInsertions [ $ oid ] ) ; return ; // document has not been persisted yet, so nothing more to do. } if ( ! $ this -> isInIdentityMap ( $ document ) ) { return ; // ignore } $ this -> removeFromIdentityMap ( $ document ) ; $ this -> documentStates [ $ oid ] = self :: STATE_REMOVED ; if ( isset ( $ this -> documentUpdates [ $ oid ] ) ) { unset ( $ this -> documentUpdates [ $ oid ] ) ; } if ( isset ( $ this -> documentDeletions [ $ oid ] ) ) { return ; } $ this -> documentDeletions [ $ oid ] = $ document ; }
Schedules a document for deletion.

@internal
Schedules a document for deletion .