diff -u b/src/MediaTypeBase.php b/src/MediaTypeBase.php --- b/src/MediaTypeBase.php +++ b/src/MediaTypeBase.php @@ -248,22 +248,14 @@ return $this->configuration['source_field']; } + $fields = $this->entityFieldManager->getFieldMap(); $base_id = 'field_media_' . $this->getPluginId(); $tries = 0; - $storage = $this->entityTypeManager->getStorage('field_storage_config'); - // Iterate at least once, until no field with the generated ID is found. - do { - $id = $base_id; - // If we've tried before, increment and append the suffix. - if ($tries) { - $id .= '_' . $tries; - } - $field = $storage->load('media.' . $id); - $tries++; + $id = $base_id; + while (isset($fields['media'][$id])) { + $id = $base_id . '_' . ++$tries; } - while ($field); - return $id; }