diff --git a/src/Field/Configurator/AssociationConfigurator.php b/src/Field/Configurator/AssociationConfigurator.php index e5f8702038..755f75bcd5 100644 --- a/src/Field/Configurator/AssociationConfigurator.php +++ b/src/Field/Configurator/AssociationConfigurator.php @@ -118,11 +118,13 @@ public function configure(FieldDto $field, EntityDto $entityDto, AdminContext $c $field->setFormTypeOptionIfNotSet('class', $targetEntityFqcn); try { - $relatedEntityId = $accessor->getValue($entityDto->getInstance(), $propertyName.'.'.$metadata->getIdentifierFieldNames()[0]); - $relatedEntityDto = $this->entityFactory->create($targetEntityFqcn, $relatedEntityId); + if (null !== $entityDto->getInstance()) { + $relatedEntityId = $accessor->getValue($entityDto->getInstance(), $propertyName.'.'.$metadata->getIdentifierFieldNames()[0]); + $relatedEntityDto = $this->entityFactory->create($targetEntityFqcn, $relatedEntityId); - $field->setCustomOption(AssociationField::OPTION_RELATED_URL, $this->generateLinkToAssociatedEntity($targetCrudControllerFqcn, $relatedEntityDto)); - $field->setFormattedValue($this->formatAsString($relatedEntityDto->getInstance(), $relatedEntityDto)); + $field->setCustomOption(AssociationField::OPTION_RELATED_URL, $this->generateLinkToAssociatedEntity($targetCrudControllerFqcn, $relatedEntityDto)); + $field->setFormattedValue($this->formatAsString($relatedEntityDto->getInstance(), $relatedEntityDto)); + } } catch (UnexpectedTypeException) { // this may crash if something in the tree is null, so just do nothing then }