Exemple #1
0
 /**
  * {@inheritdoc}
  */
 public function find($id)
 {
     $mapper = $this->solr->getMapper();
     $mapper->setMappingCommand($this->solr->getCommandFactory()->get('all'));
     $metaInformation = $this->solr->getMetaFactory()->loadInformation($this->entity);
     $metaInformation->setEntityId($id);
     $document = $mapper->toDocument($metaInformation);
     $query = new FindByIdentifierQuery();
     $query->setIndex($metaInformation->getIndex());
     $query->setDocumentKey($metaInformation->getDocumentKey());
     $query->setDocument($document);
     $query->setEntity($this->entity);
     $query->setSolr($this->solr);
     $query->setHydrationMode($this->hydrationMode);
     $found = $this->solr->query($query);
     if (count($found) == 0) {
         return null;
     }
     return array_pop($found);
 }