function QueryFactory::updateConfigKeyStore

Same name in other branches
  1. 9 core/lib/Drupal/Core/Config/Entity/Query/QueryFactory.php \Drupal\Core\Config\Entity\Query\QueryFactory::updateConfigKeyStore()
  2. 8.9.x core/lib/Drupal/Core/Config/Entity/Query/QueryFactory.php \Drupal\Core\Config\Entity\Query\QueryFactory::updateConfigKeyStore()
  3. 10 core/lib/Drupal/Core/Config/Entity/Query/QueryFactory.php \Drupal\Core\Config\Entity\Query\QueryFactory::updateConfigKeyStore()

Updates or adds lookup data.

Parameters

\Drupal\Core\Config\Entity\ConfigEntityTypeInterface $entity_type: The entity type.

\Drupal\Core\Config\Config $config: The configuration object that is being saved.

1 call to QueryFactory::updateConfigKeyStore()
QueryFactory::onConfigSave in core/lib/Drupal/Core/Config/Entity/Query/QueryFactory.php
Updates configuration entity in the key store.

File

core/lib/Drupal/Core/Config/Entity/Query/QueryFactory.php, line 104

Class

QueryFactory
Provides a factory for creating entity query objects for the config backend.

Namespace

Drupal\Core\Config\Entity\Query

Code

protected function updateConfigKeyStore(ConfigEntityTypeInterface $entity_type, Config $config) {
    $config_key_store = $this->getConfigKeyStore($entity_type);
    foreach ($entity_type->getLookupKeys() as $lookup_key) {
        foreach ($this->getKeys($config, $lookup_key, 'get', $entity_type) as $key) {
            $values = $config_key_store->get($key, []);
            if (!in_array($config->getName(), $values, TRUE)) {
                $values[] = $config->getName();
                $config_key_store->set($key, $values);
            }
        }
    }
}

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