/** * Executes all document upserts for documents of the specified type. * * @param ClassMetadata $class * @param array $documents Array of documents to upsert * @param array $options Array of options to be used with batchInsert() */ private function executeUpserts(ClassMetadata $class, array $documents, array $options = array()) { $persister = $this->getDocumentPersister($class->name); foreach ($documents as $oid => $document) { $persister->addUpsert($document); unset($this->documentUpserts[$oid]); } $persister->executeUpserts($options); foreach ($documents as $document) { $this->lifecycleEventManager->postPersist($class, $document); } }