function DatabaseBackend::setMultiple

Same name and namespace in other branches
  1. 11.x core/lib/Drupal/Core/Cache/DatabaseBackend.php \Drupal\Core\Cache\DatabaseBackend::setMultiple()
  2. 10 core/lib/Drupal/Core/Cache/DatabaseBackend.php \Drupal\Core\Cache\DatabaseBackend::setMultiple()
  3. 8.9.x core/lib/Drupal/Core/Cache/DatabaseBackend.php \Drupal\Core\Cache\DatabaseBackend::setMultiple()

File

core/lib/Drupal/Core/Cache/DatabaseBackend.php, line 189

Class

DatabaseBackend
Defines a default cache implementation.

Namespace

Drupal\Core\Cache

Code

public function setMultiple(array $items) {
  $try_again = FALSE;
  try {
    // The bin might not yet exist.
    $this->doSetMultiple($items);
  } catch (\Exception $e) {
    // If there was an exception, try to create the bins.
    if (!$try_again = $this->ensureBinExists()) {
      // If the exception happened for other reason than the missing bin
      // table, propagate the exception.
      throw $e;
    }
  }
  // Now that the bin has been created, try again if necessary.
  if ($try_again) {
    $this->doSetMultiple($items);
  }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.