public function addDocumentToDocumentPool(Document $document)
    {
        $documentId = (string) $document->getId();

        if (!isset($this->documentPool[$documentId])) {
            $this->documentPool[$documentId] = $document;
        } else {
            // merging because document after
            // load and before getting in second place may be changed
            // and this changes must be preserved:
            //
            // 1. Document loads and modifies in current session
            // 2. Document loads modified in another session
            // 3. Document loads once again in current session. Changes from stage 2 merges as unmodified

            $this->documentPool[$documentId]->mergeUnmodified($document->toArray());
        }

        return $this;
    }
public function addDocumentToDocumentPool(Document $document)
    {
        $documentId = (string) $document->getId();

        if (!isset($this->documentPool[$documentId])) {
            $this->documentPool[$documentId] = $document;
        } else {
            // merging because document after
            // load and before getting in second place may be changed
            // and this changes must be preserved:
            //
            // 1. Document loads and modifies in current session
            // 2. Document loads modified in another session
            // 3. Document loads once again in current session. Changes from stage 2 merges as unmodified

            $this->documentPool[$documentId]->mergeUnmodified($document->toArray());
        }

        return $this;
    }
public function addDocumentToDocumentPool ( Document $ document ) { $ documentId = ( string ) $ document -> getId ( ) ; if ( ! isset ( $ this -> documentPool [ $ documentId ] ) ) { $ this -> documentPool [ $ documentId ] = $ document ; } else { // merging because document after // load and before getting in second place may be changed // and this changes must be preserved: // // 1. Document loads and modifies in current session // 2. Document loads modified in another session // 3. Document loads once again in current session. Changes from stage 2 merges as unmodified $ this -> documentPool [ $ documentId ] -> mergeUnmodified ( $ document -> toArray ( ) ) ; } return $ this ; }
Store document to pool

@param array $document
@return \Sokil\Mongo\Collection
Store document to pool