You are here

public function DatabaseStorageExpirable::getMultiple in Drupal 8

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/KeyValueStore/DatabaseStorageExpirable.php \Drupal\Core\KeyValueStore\DatabaseStorageExpirable::getMultiple()

Returns the stored key/value pairs for a given set of keys.

@todo What's returned for non-existing keys?

Parameters

array $keys: A list of keys to retrieve.

Return value

array An associative array of items successfully returned, indexed by key.

Overrides DatabaseStorage::getMultiple

File

core/lib/Drupal/Core/KeyValueStore/DatabaseStorageExpirable.php, line 46

Class

DatabaseStorageExpirable
Defines a default key/value store implementation for expiring items.

Namespace

Drupal\Core\KeyValueStore

Code

public function getMultiple(array $keys) {
  $values = $this->connection
    ->query('SELECT name, value FROM {' . $this->connection
    ->escapeTable($this->table) . '} WHERE expire > :now AND name IN ( :keys[] ) AND collection = :collection', [
    ':now' => REQUEST_TIME,
    ':keys[]' => $keys,
    ':collection' => $this->collection,
  ])
    ->fetchAllKeyed();
  return array_map([
    $this->serializer,
    'decode',
  ], $values);
}