function Vid::titleQuery

Override the behavior of title(). Get the title of the revision.

Return value

array Returns all titles, if it's just one title it's an array with one entry.

Overrides NumericArgument::titleQuery

File

core/modules/node/src/Plugin/views/argument/Vid.php, line 68

Class

Vid
Argument handler to accept a node revision id.

Namespace

Drupal\node\Plugin\views\argument

Code

public function titleQuery() {
  $titles = [];
  $results = $this->database
    ->query('SELECT nr.vid, nr.nid, npr.title FROM {node_revision} nr WHERE nr.vid IN ( :vids[] )', [
    ':vids[]' => $this->value,
  ])
    ->fetchAllAssoc('vid', PDO::FETCH_ASSOC);
  $nids = [];
  foreach ($results as $result) {
    $nids[] = $result['nid'];
  }
  $nodes = $this->nodeStorage
    ->loadMultiple(array_unique($nids));
  foreach ($results as $result) {
    $nodes[$result['nid']]->set('title', $result['title']);
    $titles[] = $nodes[$result['nid']]->label();
  }
  return $titles;
}

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