diff --git a/core/modules/views/src/Plugin/views/filter/EntityReference.php b/core/modules/views/src/Plugin/views/filter/EntityReference.php index 92a90b19e8..fb98612a1c 100644 --- a/core/modules/views/src/Plugin/views/filter/EntityReference.php +++ b/core/modules/views/src/Plugin/views/filter/EntityReference.php @@ -427,20 +427,23 @@ protected function getReferencedBundles() { // For each entity bundle check if this field is set and if yes collect // the configured target entity bundles. - $allTargetBundles = []; + $referenced_bundles = []; foreach ($bundles as $bundle) { // Get the field definition on the entity type bundle. - $fieldDefinitions = $this->entityFieldManager->getFieldDefinitions($target_type_id, $bundle); - $field = $fieldDefinitions[$field_name]; + $field_definitions = $this->entityFieldManager->getFieldDefinitions($target_type_id, $bundle); + $field = $field_definitions[$field_name]; // Get the configured reference-able bundles. - $targetBundles = $field->getSetting('handler_settings')['target_bundles']; - $targetBundles = array_keys($targetBundles); - $allTargetBundles = array_merge($allTargetBundles, $targetBundles); + $handler_settings = $field->getSetting('handler_settings'); + if (array_key_exists('target_bundles', $handler_settings)) { + $target_bundles = $handler_settings['target_bundles']; + $target_bundles = array_keys($target_bundles); + $referenced_bundles = array_merge($referenced_bundles, $target_bundles); + } } // Remove duplicates and reset the array keying. - return array_values(array_unique($allTargetBundles)); + return array_values(array_unique($referenced_bundles)); } }