From 0b5a34b4e1d320acb0dcee4afca6c046553c36cf Mon Sep 17 00:00:00 2001 From: Sukhwinder Dhillon Date: Wed, 11 Jun 2025 10:10:10 +0200 Subject: [PATCH] Models: Register the `to 1` relations first to display them first in the search suggestions --- library/Icingadb/Model/Host.php | 5 +++-- library/Icingadb/Model/Service.php | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/library/Icingadb/Model/Host.php b/library/Icingadb/Model/Host.php index 45e34bbc..a74c8bfe 100644 --- a/library/Icingadb/Model/Host.php +++ b/library/Icingadb/Model/Host.php @@ -251,6 +251,9 @@ class Host extends Model public function createRelations(Relations $relations) { + $relations->hasOne('state', HostState::class)->setJoinType('LEFT'); + $relations->hasOne('dependency_node', DependencyNode::class)->setJoinType('LEFT'); + $relations->belongsTo('environment', Environment::class); $relations->belongsTo('eventcommand', Eventcommand::class); $relations->belongsTo('checkcommand', Checkcommand::class); @@ -279,14 +282,12 @@ class Host extends Model $relations->belongsToMany('hostgroup', Hostgroup::class) ->through(HostgroupMember::class); - $relations->hasOne('state', HostState::class)->setJoinType('LEFT'); $relations->hasMany('comment', Comment::class)->setJoinType('LEFT'); $relations->hasMany('downtime', Downtime::class)->setJoinType('LEFT'); $relations->hasMany('history', History::class); $relations->hasMany('notification', Notification::class)->setJoinType('LEFT'); $relations->hasMany('notification_history', NotificationHistory::class); $relations->hasMany('service', Service::class)->setJoinType('LEFT'); - $relations->hasOne('dependency_node', DependencyNode::class)->setJoinType('LEFT'); $relations->belongsToMany('from', DependencyEdge::class) ->setTargetCandidateKey('from_node_id') diff --git a/library/Icingadb/Model/Service.php b/library/Icingadb/Model/Service.php index d0482b38..51934f7b 100644 --- a/library/Icingadb/Model/Service.php +++ b/library/Icingadb/Model/Service.php @@ -243,6 +243,9 @@ class Service extends Model public function createRelations(Relations $relations) { + $relations->hasOne('state', ServiceState::class)->setJoinType('LEFT'); + $relations->hasOne('dependency_node', DependencyNode::class)->setJoinType('LEFT'); + $relations->belongsTo('environment', Environment::class); $relations->belongsTo('host', Host::class)->setJoinType('LEFT'); $relations->belongsTo('checkcommand', Checkcommand::class); @@ -274,13 +277,11 @@ class Service extends Model $relations->belongsToMany('hostgroup', Hostgroup::class) ->through(HostgroupMember::class); - $relations->hasOne('state', ServiceState::class)->setJoinType('LEFT'); $relations->hasMany('comment', Comment::class)->setJoinType('LEFT'); $relations->hasMany('downtime', Downtime::class)->setJoinType('LEFT'); $relations->hasMany('history', History::class); $relations->hasMany('notification', Notification::class)->setJoinType('LEFT'); $relations->hasMany('notification_history', NotificationHistory::class); - $relations->hasOne('dependency_node', DependencyNode::class)->setJoinType('LEFT'); $relations->belongsToMany('from', DependencyEdge::class) ->setTargetCandidateKey('from_node_id')