function EntityBase::invalidateTagsOnSave

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Entity/EntityBase.php \Drupal\Core\Entity\EntityBase::invalidateTagsOnSave()
  2. 10 core/lib/Drupal/Core/Entity/EntityBase.php \Drupal\Core\Entity\EntityBase::invalidateTagsOnSave()
  3. 11.x core/lib/Drupal/Core/Entity/EntityBase.php \Drupal\Core\Entity\EntityBase::invalidateTagsOnSave()

Invalidates an entity's cache tags upon save.

Parameters

bool $update: TRUE if the entity has been updated, or FALSE if it has been inserted.

1 call to EntityBase::invalidateTagsOnSave()
EntityBase::postSave in core/lib/Drupal/Core/Entity/EntityBase.php
Acts on a saved entity before the insert or update hook is invoked.
1 method overrides EntityBase::invalidateTagsOnSave()
ConfigEntityBase::invalidateTagsOnSave in core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php
Override to never invalidate the entity's cache tag; the config system already invalidates it.

File

core/lib/Drupal/Core/Entity/EntityBase.php, line 573

Class

EntityBase
Defines a base entity class.

Namespace

Drupal\Core\Entity

Code

protected function invalidateTagsOnSave($update) {
    // An entity was created or updated: invalidate its list cache tags. (An
    // updated entity may start to appear in a listing because it now meets that
    // listing's filtering requirements. A newly created entity may start to
    // appear in listings because it did not exist before.)
    $tags = $this->getListCacheTagsToInvalidate();
    if ($this->hasLinkTemplate('canonical')) {
        // Creating or updating an entity may change a cached 403 or 404 response.
        $tags = Cache::mergeTags($tags, [
            '4xx-response',
        ]);
    }
    if ($update) {
        // An existing entity was updated, also invalidate its unique cache tag.
        $tags = Cache::mergeTags($tags, $this->getCacheTagsToInvalidate());
    }
    Cache::invalidateTags($tags);
}

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