Esempio n. 1
0
 /**
  * @param string $entityClass
  * @param array  $config
  *
  * @return string[]
  */
 public function getFieldsToSerialize($entityClass, $config)
 {
     $entityMetadata = $this->doctrineHelper->getEntityMetadata($entityClass);
     return array_filter($this->getFields($entityClass, $config), function ($field) use($entityMetadata) {
         return !$entityMetadata->isCollectionValuedAssociation($field);
     });
 }
Esempio n. 2
0
 /**
  * @param string $entityClass
  *
  * @return string
  */
 protected function getEntityIdFieldName($entityClass)
 {
     return $this->doctrineHelper->getEntityMetadata($entityClass)->getSingleIdentifierFieldName();
 }
Esempio n. 3
0
 /**
  * @param array $associationMapping
  * @param array $entityIds
  * @param array $config
  *
  * @return Query
  */
 protected function getRelatedItemsIdsQuery($associationMapping, $entityIds, $config)
 {
     $qb = $this->getToManyAssociationQueryBuilder($associationMapping, $entityIds)->addSelect(sprintf('r.%s as relatedEntityId', $this->doctrineHelper->getEntityIdFieldName($associationMapping['targetEntity'])));
     return $this->getQuery($qb, $config);
 }
Esempio n. 4
0
 /**
  * @param string $entityClass
  * @param array  $config
  *
  * @return bool
  */
 protected function hasAssociations($entityClass, $config)
 {
     $entityMetadata = $this->doctrineHelper->getEntityMetadata($entityClass);
     $fields = $this->fieldAccessor->getFields($entityClass, $config);
     foreach ($fields as $field) {
         if ($entityMetadata->isAssociation($field)) {
             return true;
         }
     }
     return false;
 }