diff --git a/module/VuFind/src/VuFind/Hierarchy/TreeDataSource/Solr.php b/module/VuFind/src/VuFind/Hierarchy/TreeDataSource/Solr.php index 451fea283bbbb7c069101a0d6e27cdaa409f75bb..1fe4a1277ddea3631534041e9a7edbbe275a688e 100644 --- a/module/VuFind/src/VuFind/Hierarchy/TreeDataSource/Solr.php +++ b/module/VuFind/src/VuFind/Hierarchy/TreeDataSource/Solr.php @@ -195,6 +195,10 @@ class Solr extends AbstractBase $parents = isset($current->hierarchy_parent_id) ? $current->hierarchy_parent_id : []; foreach ($parents as $parentId) { + if ($current->id === $parentId) { + // Ignore circular reference + continue; + } if (!isset($map[$parentId])) { $map[$parentId] = [$current]; } else {