Problem/Motivation
In NodeViewsData
<?php
$data['node_revision']['nid']['relationship']['id'] = 'standard';
$data['node_revision']['nid']['relationship']['base'] = 'node';
$data['node_revision']['nid']['relationship']['base field'] = 'nid';
$data['node_revision']['nid']['relationship']['title'] = t('Content');
$data['node_revision']['nid']['relationship']['label'] = t('Get the actual content from a content revision.');
$data['node_revision']['vid'] = array(
'argument' => array(
'id' => 'node_vid',
'numeric' => TRUE,
),
'relationship' => array(
'id' => 'standard',
'base' => 'node',
'base field' => 'vid',
'title' => t('Content'),
'label' => t('Get the actual content from a content revision.'),
),
) + $data['node_revision']['vid'];
?>
and now in #1984582: Add views support for custom blocks
<?php
$data['block_content_revision']['id']['relationship']['id'] = 'standard';
$data['block_content_revision']['id']['relationship']['base'] = 'block_content';
$data['block_content_revision']['id']['relationship']['base field'] = 'id';
$data['block_content_revision']['id']['relationship']['title'] = $this->t('Block Content');
$data['block_content_revision']['id']['relationship']['label'] = $this->t('Get the actual block content from a block content revision.');
$data['block_content_revision']['revision_id']['relationship']['id'] = 'standard';
$data['block_content_revision']['revision_id']['relationship']['base'] = 'block_content';
$data['block_content_revision']['revision_id']['relationship']['base field'] = 'revision_id';
$data['block_content_revision']['revision_id']['relationship']['title'] = $this->t('Block Content');
$data['block_content_revision']['revision_id']['relationship']['label'] = $this->t('Get the actual block content from a block content revision.');
?>
Proposed resolution
If entity is revisionable then we can add these relationships by default in EntityViewsData
Remaining tasks
Create patch
User interface changes
None
API changes
Simple code moment so none.