diff --git a/library/Icingadb/Model/UnreachableParent.php b/library/Icingadb/Model/UnreachableParent.php index cf78d39a..7b3e3f45 100644 --- a/library/Icingadb/Model/UnreachableParent.php +++ b/library/Icingadb/Model/UnreachableParent.php @@ -5,6 +5,7 @@ namespace Icinga\Module\Icingadb\Model; use Icinga\Module\Icingadb\Model\Behavior\ReRoute; +use Icinga\Module\Icingadb\Model\UnreachableParent\ResultSet; use InvalidArgumentException; use ipl\Orm\Behavior\Binary; use ipl\Orm\Behaviors; @@ -112,6 +113,8 @@ class UnreachableParent extends DependencyNode ) )); + $query->setResultSetClass(ResultSet::class); + return $query; } diff --git a/library/Icingadb/Model/UnreachableParent/ResultSet.php b/library/Icingadb/Model/UnreachableParent/ResultSet.php new file mode 100644 index 00000000..d564b4e8 --- /dev/null +++ b/library/Icingadb/Model/UnreachableParent/ResultSet.php @@ -0,0 +1,23 @@ +id])) { + continue; + } + + $knownIds[$value->id] = true; + + yield $value; + } + } +} diff --git a/library/Icingadb/Widget/Detail/ObjectDetail.php b/library/Icingadb/Widget/Detail/ObjectDetail.php index 5b657425..c4e0a689 100644 --- a/library/Icingadb/Widget/Detail/ObjectDetail.php +++ b/library/Icingadb/Widget/Detail/ObjectDetail.php @@ -655,7 +655,6 @@ class ObjectDetail extends BaseHtmlElement 'service.host', 'service.host.state' ]) - ->setResultSetClass(VolatileStateResults::class) ->orderBy([ 'host.state.severity', 'host.state.last_state_change',