Loading l10n_community/src/L10nTranslator.php +7 −2 Original line number Diff line number Diff line Loading @@ -81,14 +81,19 @@ class L10nTranslator { */ public function getStrings(string $langcode, array $filters, int $pager = NULL): array { $query = $this->connection ->select('l10n_server_string', 's') ->distinct(); ->select('l10n_server_string', 's'); $query ->leftJoin('l10n_server_status_flag', 'ts', 's.sid = ts.sid AND ts.language = :language', [ ':language' => $langcode, ]); $query ->leftJoin('l10n_server_translation', 't', 'ts.sid = t.sid AND ts.language = t.language AND t.status = 1'); // The translation table has a 1:N relationship to sources. We need to limit // results to unique sids. A group by on sid appears to be the fastest // solution (as opposed to eg. DISTINCT). // @note the D7 version also applied a groupBy('NULL'), but it just makes // the query crash. $query->groupBy('sid'); $query ->leftJoin('users_field_data', 'u', 'u.uid = t.uid'); $query Loading Loading
l10n_community/src/L10nTranslator.php +7 −2 Original line number Diff line number Diff line Loading @@ -81,14 +81,19 @@ class L10nTranslator { */ public function getStrings(string $langcode, array $filters, int $pager = NULL): array { $query = $this->connection ->select('l10n_server_string', 's') ->distinct(); ->select('l10n_server_string', 's'); $query ->leftJoin('l10n_server_status_flag', 'ts', 's.sid = ts.sid AND ts.language = :language', [ ':language' => $langcode, ]); $query ->leftJoin('l10n_server_translation', 't', 'ts.sid = t.sid AND ts.language = t.language AND t.status = 1'); // The translation table has a 1:N relationship to sources. We need to limit // results to unique sids. A group by on sid appears to be the fastest // solution (as opposed to eg. DISTINCT). // @note the D7 version also applied a groupBy('NULL'), but it just makes // the query crash. $query->groupBy('sid'); $query ->leftJoin('users_field_data', 'u', 'u.uid = t.uid'); $query Loading