public static function getStartsWith($term, $language = '', $limit = 10)
{
// language given
if ($language) {
return (array) FrontendModel::getContainer()->get('database')->getRecords('SELECT s1.term, s1.num_results
FROM search_statistics AS s1
INNER JOIN
(
SELECT term, MAX(id) AS id, language
FROM search_statistics
WHERE term LIKE ? AND num_results IS NOT NULL AND language = ?
GROUP BY term
) AS s2 ON s1.term = s2.term AND s1.id = s2.id AND s1.language = s2.language AND s1.num_results > 0
ORDER BY s1.num_results ASC
LIMIT ?', array((string) $term . '%', $language, $limit));
} else {
// no language given
return (array) FrontendModel::getContainer()->get('database')->getRecords('SELECT s1.term, s1.num_results
FROM search_statistics AS s1
INNER JOIN
(
SELECT term, MAX(id) AS id, language
FROM search_statistics
WHERE term LIKE ? AND num_results IS NOT NULL
GROUP BY term
) AS s2 ON s1.term = s2.term AND s1.id = s2.id AND s1.language = s2.language AND s1.num_results > 0
ORDER BY s1.num_results ASC
LIMIT ?', array((string) $term . '%', $limit));
}
}