protected function StringDatabaseStorageDecorator::dbStringLoad in Language Hierarchy 2.x
Loads multiple string objects.
Parameters
array $conditions: Any of the conditions used by dbStringSelect().
array $options: Any of the options used by dbStringSelect().
string $class: Class name to use for fetching returned objects.
Return value
\Drupal\locale\StringInterface[] Array of objects of the class requested.
Overrides StringDatabaseStorage::dbStringLoad
File
- src/
StringDatabaseStorageDecorator.php, line 68
Class
- StringDatabaseStorageDecorator
- Decorates the locale.storage service.
Namespace
Drupal\language_hierarchyCode
protected function dbStringLoad(array $conditions, array $options, $class) {
$strings = parent::dbStringLoad($conditions, $options, $class);
// If querying for a single language, remove fallback results that also
// have corresponding translations in a more specific language.
if (!empty($conditions['language']) && is_scalar($conditions['language'])) {
$filtered = [];
foreach ($strings as $string) {
$lid = $string
->getId();
if (!isset($filtered[$lid])) {
$filtered[$lid] = $string;
}
}
$strings = array_values($filtered);
}
return $strings;
}