trait EntityChangedTrait

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Entity/EntityChangedTrait.php \Drupal\Core\Entity\EntityChangedTrait
  2. 8.9.x core/lib/Drupal/Core/Entity/EntityChangedTrait.php \Drupal\Core\Entity\EntityChangedTrait
  3. 10 core/lib/Drupal/Core/Entity/EntityChangedTrait.php \Drupal\Core\Entity\EntityChangedTrait

Provides a trait for accessing changed time.

Hierarchy

6 files declare their use of EntityChangedTrait
Comment.php in core/modules/comment/src/Entity/Comment.php
EntityTestConstraints.php in core/modules/system/tests/modules/entity_test/src/Entity/EntityTestConstraints.php
EntityTestMulChanged.php in core/modules/system/tests/modules/entity_test/src/Entity/EntityTestMulChanged.php
File.php in core/modules/file/src/Entity/File.php
User.php in core/modules/user/src/Entity/User.php

... See full list

File

core/lib/Drupal/Core/Entity/EntityChangedTrait.php, line 8

Namespace

Drupal\Core\Entity
View source
trait EntityChangedTrait {
    
    /**
     * Returns the timestamp of the last entity change across all translations.
     *
     * @return int
     *   The timestamp of the last entity save operation across all
     *   translations.
     */
    public function getChangedTimeAcrossTranslations() {
        $changed = $this->getUntranslated()
            ->getChangedTime();
        foreach ($this->getTranslationLanguages(FALSE) as $language) {
            $translation_changed = $this->getTranslation($language->getId())
                ->getChangedTime();
            $changed = max($translation_changed, $changed);
        }
        return $changed;
    }
    
    /**
     * Gets the timestamp of the last entity change for the current translation.
     *
     * @return int|null
     *   The timestamp of the last entity save operation. Some entities allow a
     *   NULL value indicating the changed time is unknown.
     */
    public function getChangedTime() {
        $value = $this->get('changed')->value;
        return isset($value) ? (int) $value : NULL;
    }
    
    /**
     * Sets the timestamp of the last entity change for the current translation.
     *
     * @param int $timestamp
     *   The timestamp of the last entity save operation.
     *
     * @return $this
     */
    public function setChangedTime($timestamp) {
        $this->set('changed', $timestamp);
        return $this;
    }

}

Members

Title Sort descending Modifiers Object type Summary
EntityChangedTrait::getChangedTime public function Gets the timestamp of the last entity change for the current translation.
EntityChangedTrait::getChangedTimeAcrossTranslations public function Returns the timestamp of the last entity change across all translations.
EntityChangedTrait::setChangedTime public function Sets the timestamp of the last entity change for the current translation.

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