database ->delete($this->entityType->getBaseTable()) ->condition('workspace', $workspace->id()) ->execute(); $this->database ->delete($this->entityType->getRevisionTable()) ->condition('workspace', $workspace->id()) ->execute(); } /** * {@inheritdoc} */ public function getTrackedEntities($workspace_id, $all_revisions = FALSE) { $table = $all_revisions ? $this->getRevisionTable() : $this->getBaseTable(); $query = $this->database->select($table, 'base_table'); $query ->fields('base_table', ['target_entity_type_id', 'target_entity_id', 'target_entity_revision_id']) ->orderBy('target_entity_revision_id', 'ASC') ->condition('workspace', $workspace_id); $tracked_revisions = []; foreach ($query->execute() as $record) { $tracked_revisions[$record->target_entity_type_id][$record->target_entity_revision_id] = $record->target_entity_id; } return $tracked_revisions; } /** * {@inheritdoc} */ public function getEntityTrackingWorkspaceIds(EntityInterface $entity) { $query = $this->database->select($this->getBaseTable(), 'base_table'); $query ->fields('base_table', ['workspace']) ->condition('target_entity_type_id', $entity->getEntityTypeId()) ->condition('target_entity_id', $entity->id()); return $query->execute()->fetchCol(); } }