/** * @param string $targetClass * @param FieldConfigId $fieldId */ protected function updateRelationValues($targetClass, FieldConfigId $fieldId) { $extendProvider = $this->em->getExtendConfigProvider(); $targetConfig = $extendProvider->getConfig($targetClass); $relations = $targetConfig->get('relation', false, []); $schema = $targetConfig->get('schema', false, []); foreach ($relations as &$relation) { if ($relation['target_field_id'] == $fieldId) { if ($relation['owner']) { $relation['assign'] = true; } /** @var FieldConfigId $relationFieldId */ $relationFieldId = $relation['field_id']; if ($relationFieldId) { $schema['relation'][$relationFieldId->getFieldName()] = $relationFieldId->getFieldName(); } } } $targetConfig->set('relation', $relations); $targetConfig->set('schema', $schema); $extendProvider->persist($targetConfig); }