You are here

public function DatabaseStorage::readMultiple in Drupal 9

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/Config/DatabaseStorage.php \Drupal\Core\Config\DatabaseStorage::readMultiple()
  2. 10 core/lib/Drupal/Core/Config/DatabaseStorage.php \Drupal\Core\Config\DatabaseStorage::readMultiple()

Reads configuration data from the storage.

Parameters

array $names: List of names of the configuration objects to load.

Return value

array A list of the configuration data stored for the configuration object name that could be loaded for the passed list of names.

Overrides StorageInterface::readMultiple

File

core/lib/Drupal/Core/Config/DatabaseStorage.php, line 102

Class

DatabaseStorage
Defines the Database storage.

Namespace

Drupal\Core\Config

Code

public function readMultiple(array $names) {
  $list = [];
  try {
    $list = $this->connection
      ->query('SELECT [name], [data] FROM {' . $this->connection
      ->escapeTable($this->table) . '} WHERE [collection] = :collection AND [name] IN ( :names[] )', [
      ':collection' => $this->collection,
      ':names[]' => $names,
    ], $this->options)
      ->fetchAllKeyed();
    foreach ($list as &$data) {
      $data = $this
        ->decode($data);
    }
  } catch (\Exception $e) {

    // If we attempt a read without actually having the database or the table
    // available, just return an empty array so the caller can handle it.
  }
  return $list;
}