From d6857904ec41c7b25f5edfd8dbc525c4b60e36fc Mon Sep 17 00:00:00 2001 From: Nicola Galgano Date: Wed, 27 Nov 2024 15:07:10 +0100 Subject: [PATCH] [5.2]postgres and finder suggestions (#44384) --- components/com_finder/src/Model/SuggestionsModel.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/components/com_finder/src/Model/SuggestionsModel.php b/components/com_finder/src/Model/SuggestionsModel.php index afe9c010962f1..d3a9e5d65e1ed 100644 --- a/components/com_finder/src/Model/SuggestionsModel.php +++ b/components/com_finder/src/Model/SuggestionsModel.php @@ -75,6 +75,7 @@ protected function getListQuery() $db = $this->getDatabase(); $termIdQuery = $db->getQuery(true); $termQuery = $db->getQuery(true); + $aQuery = $db->getQuery(true); // Limit term count to a reasonable number of results to reduce main query join size $termIdQuery->select('ti.term_id') @@ -93,9 +94,9 @@ protected function getListQuery() } // Select required fields - $termQuery->select('DISTINCT(t.term)') + $termQuery->select('t.term, t.links, t.weight') ->from($db->quoteName('#__finder_terms', 't')) - ->whereIn('t.term_id', $termIds) + ->where('t.term_id in (' . implode(',', $termIds) . ')') ->order('t.links DESC') ->order('t.weight DESC'); @@ -108,8 +109,8 @@ protected function getListQuery() ->where('l.access IN (' . implode(',', $groups) . ')') ->where('l.state = 1') ->where('l.published = 1'); - - return $termQuery; + $aQuery->select('DISTINCT o.term')->from('(' . $termQuery . ') AS o'); + return $aQuery; } /**