getResultMappingMetadata() публичный Метод

public getResultMappingMetadata ( $class )
Пример #1
0
 protected function nativeQuery($query, $parameters, QueryResultMapping $resultMapping)
 {
     $parameters = null !== $parameters ? (array) $parameters : [];
     $result = $this->entityManager->getDatabaseDriver()->run($query, $parameters);
     if ($result->size() < 1) {
         return;
     }
     if ($result->size() > 1 && $resultMapping->getQueryResultType() !== QueryResultMapping::RESULT_MULTIPLE) {
         throw new \RuntimeException(sprintf('Expected a single record, got %d', $result->size()));
     }
     $results = [];
     $mappingMetadata = $this->entityManager->getResultMappingMetadata($resultMapping->getQueryResultClass());
     foreach ($result->records() as $record) {
         $results[] = $this->hydrateQueryRecord($mappingMetadata, $record);
     }
     return $resultMapping->getQueryResultType() === QueryResultMapping::RESULT_SINGLE ? $results[0] : $results;
 }