/**
  * @param ColumnInfoInterface  $columnInfo
  * @param ORMClassMetadataInfo $metadata
  *
  * @return array
  */
 private function getORMTransformerInfo(ColumnInfoInterface $columnInfo, ORMClassMetadataInfo $metadata)
 {
     if (!$metadata->hasAssociation($columnInfo->getPropertyPath())) {
         return;
     }
     $mapping = $metadata->getAssociationMapping($columnInfo->getPropertyPath());
     if (!$this->doctrine->getRepository($mapping['targetEntity']) instanceof ReferableEntityRepositoryInterface) {
         return;
     }
     return array($this->transformer, array('class' => $mapping['targetEntity'], 'multiple' => ORMClassMetadataInfo::MANY_TO_MANY === $mapping['type']));
 }
Ejemplo n.º 2
0
 /**
  * @param ClassMetadataInfo $metadata
  *
  * @throws \RuntimeException
  */
 private function loadAssociations(ClassMetadataInfo $metadata)
 {
     if (!array_key_exists($metadata->name, $this->associations)) {
         return;
     }
     try {
         foreach ($this->associations[$metadata->name] as $type => $mappings) {
             foreach ($mappings as $mapping) {
                 // the association is already set, skip the native one
                 if ($metadata->hasAssociation($mapping['fieldName'])) {
                     continue;
                 }
                 call_user_func(array($metadata, $type), $mapping);
             }
         }
     } catch (\ReflectionException $e) {
         throw new \RuntimeException(sprintf('Error with class %s : %s', $metadata->name, $e->getMessage()), 404, $e);
     }
 }
 /**
  * @param ClassMetadataInfo $metadata
  *
  * @throws \RuntimeException
  */
 protected function loadAssociations($eventArgs, ClassMetadataInfo $metadata)
 {
     if (!array_key_exists($metadata->getName(), $this->associations)) {
         return;
     }
     try {
         foreach ($this->associations[$metadata->getName()] as $type => $mappings) {
             foreach ($mappings as $mapping) {
                 if ($metadata->hasAssociation($mapping['fieldName'])) {
                     continue;
                 }
                 call_user_func(array($metadata, $type), $mapping);
             }
         }
     } catch (\ReflectionException $e) {
         throw new \RuntimeException(sprintf('Error with class %s : %s', $metadata->getName(), $e->getMessage()), 404, $e);
     }
 }