function DatabaseStorage::deleteAll

Same name in this branch
  1. 10 core/lib/Drupal/Core/KeyValueStore/DatabaseStorage.php \Drupal\Core\KeyValueStore\DatabaseStorage::deleteAll()
Same name in other branches
  1. 9 core/lib/Drupal/Core/Config/DatabaseStorage.php \Drupal\Core\Config\DatabaseStorage::deleteAll()
  2. 9 core/lib/Drupal/Core/KeyValueStore/DatabaseStorage.php \Drupal\Core\KeyValueStore\DatabaseStorage::deleteAll()
  3. 8.9.x core/lib/Drupal/Core/Config/DatabaseStorage.php \Drupal\Core\Config\DatabaseStorage::deleteAll()
  4. 8.9.x core/lib/Drupal/Core/KeyValueStore/DatabaseStorage.php \Drupal\Core\KeyValueStore\DatabaseStorage::deleteAll()
  5. 11.x core/lib/Drupal/Core/Config/DatabaseStorage.php \Drupal\Core\Config\DatabaseStorage::deleteAll()
  6. 11.x core/lib/Drupal/Core/KeyValueStore/DatabaseStorage.php \Drupal\Core\KeyValueStore\DatabaseStorage::deleteAll()

Overrides StorageInterface::deleteAll

File

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

Class

DatabaseStorage
Defines the Database storage.

Namespace

Drupal\Core\Config

Code

public function deleteAll($prefix = '') {
    try {
        // @todo Remove the 'return' option in Drupal 11.
        // @see https://www.drupal.org/project/drupal/issues/3256524
        $options = [
            'return' => Database::RETURN_AFFECTED,
        ] + $this->options;
        return (bool) $this->connection
            ->delete($this->table, $options)
            ->condition('name', $prefix . '%', 'LIKE')
            ->condition('collection', $this->collection)
            ->execute();
    } catch (\Exception $e) {
        if ($this->connection
            ->schema()
            ->tableExists($this->table)) {
            throw $e;
        }
        // If we attempt a delete without actually having the table available,
        // return false so the caller can handle it.
        return FALSE;
    }
}

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