/** * @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); }); }
/** * @param string $entityClass * * @return string */ protected function getEntityIdFieldName($entityClass) { return $this->doctrineHelper->getEntityMetadata($entityClass)->getSingleIdentifierFieldName(); }
/** * @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; }