ServicegroupQuery: Join hostgroups with a LEFT JOIN

refs #4404
This commit is contained in:
Johannes Meyer 2021-07-05 14:59:24 +02:00
parent 13125e8059
commit 963fdbd3e2

View File

@ -192,15 +192,15 @@ class ServicegroupQuery extends IdoQuery
protected function joinHostgroups() protected function joinHostgroups()
{ {
$this->requireVirtualTable('services'); $this->requireVirtualTable('services');
$this->select->join( $this->select->joinLeft(
array('hgm' => $this->prefix . 'hostgroup_members'), array('hgm' => $this->prefix . 'hostgroup_members'),
'hgm.host_object_id = s.host_object_id', 'hgm.host_object_id = s.host_object_id',
array() array()
)->join( )->joinLeft(
array('hg' => $this->prefix . 'hostgroups'), array('hg' => $this->prefix . 'hostgroups'),
'hg.hostgroup_id = hgm.hostgroup_id', 'hg.hostgroup_id = hgm.hostgroup_id',
array() array()
)->join( )->joinLeft(
array('hgo' => $this->prefix . 'objects'), array('hgo' => $this->prefix . 'objects'),
'hgo.object_id = hg.hostgroup_object_id AND hgo.objecttype_id = 3 AND hgo.is_active = 1', 'hgo.object_id = hg.hostgroup_object_id AND hgo.objecttype_id = 3 AND hgo.is_active = 1',
array() array()