/** * {@inheritdoc} */ public function preUpdate() { $entityConfigs = $this->extendConfigProvider->getConfigs(); foreach ($entityConfigs as $entityConfig) { if (!$entityConfig->is('is_extend')) { continue; } $fieldConfigs = $this->extendConfigProvider->getConfigs($entityConfig->getId()->getClassName()); foreach ($fieldConfigs as $fieldConfig) { if (!$fieldConfig->is('state', ExtendScope::STATE_NEW)) { continue; } // @todo: we need to find a way to use this extension to process OWNER_SYSTEM relations as well // currently we have several problems here: // - collision with associations // - no support unidirectional relations if (!$fieldConfig->is('owner', ExtendScope::OWNER_CUSTOM)) { continue; } /** @var FieldConfigId $fieldConfigId */ $fieldConfigId = $fieldConfig->getId(); if (in_array($fieldConfigId->getFieldType(), RelationType::$anyToAnyRelations)) { $this->createRelation($fieldConfig); } } } }