function QueryFactory::deleteConfigKeyStore
Same name in other branches
- 8.9.x core/lib/Drupal/Core/Config/Entity/Query/QueryFactory.php \Drupal\Core\Config\Entity\Query\QueryFactory::deleteConfigKeyStore()
- 10 core/lib/Drupal/Core/Config/Entity/Query/QueryFactory.php \Drupal\Core\Config\Entity\Query\QueryFactory::deleteConfigKeyStore()
- 11.x core/lib/Drupal/Core/Config/Entity/Query/QueryFactory.php \Drupal\Core\Config\Entity\Query\QueryFactory::deleteConfigKeyStore()
Deletes lookup data.
Parameters
\Drupal\Core\Config\Entity\ConfigEntityTypeInterface $entity_type: The entity type.
\Drupal\Core\Config\Config $config: The configuration object that is being deleted.
1 call to QueryFactory::deleteConfigKeyStore()
- QueryFactory::onConfigDelete in core/
lib/ Drupal/ Core/ Config/ Entity/ Query/ QueryFactory.php - Removes configuration entity from key store.
File
-
core/
lib/ Drupal/ Core/ Config/ Entity/ Query/ QueryFactory.php, line 125
Class
- QueryFactory
- Provides a factory for creating entity query objects for the config backend.
Namespace
Drupal\Core\Config\Entity\QueryCode
protected function deleteConfigKeyStore(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, 'getOriginal', $entity_type) as $key) {
$values = $config_key_store->get($key, []);
$pos = array_search($config->getName(), $values, TRUE);
if ($pos !== FALSE) {
unset($values[$pos]);
}
if (empty($values)) {
$config_key_store->delete($key);
}
else {
$config_key_store->set($key, $values);
}
}
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.