content_entity_base-8.x-1.x-dev/src/Entity/Storage/ContentEntityBaseStorage.php
src/Entity/Storage/ContentEntityBaseStorage.php
<?php namespace Drupal\content_entity_base\Entity\Storage; use Drupal\Core\Entity\ContentEntityInterface; use Drupal\Core\Entity\Sql\SqlContentEntityStorage; class ContentEntityBaseStorage extends SqlContentEntityStorage implements RevisionableStorageInterface { /** * {@inheritdoc} */ public function countDefaultLanguageRevisions(ContentEntityInterface $entity) { $entity_type = $entity->getEntityType(); $count = $this->getQuery() ->allRevisions() ->condition($entity_type->getKey('id'), $entity->id()) ->condition($entity_type->getKey('default_langcode'), 1) ->count() ->execute(); return $count; } /** * {@inheritdoc} */ public function revisionIds(ContentEntityInterface $entity) { // @todo Too bad that you cannot use an entity query here. $entity_type = $entity->getEntityType(); $revision_table = $entity_type->getRevisionTable(); $revision_field = $entity_type->getKey('revision'); $id_field = $entity_type->getKey('id'); $result = $this->database->select($revision_table) ->fields($revision_table, [$revision_field]) ->condition($id_field, $entity->id()) ->execute() ->fetchAllKeyed(0, 0); return array_values($result); } }