function UserUid::query

Add this filter to the query.

Due to the nature of fapi, the value and the operator have an unintended level of indirection. You will find them in $this->operator and $this->value respectively.

Overrides FilterPluginBase::query

File

core/modules/comment/src/Plugin/views/filter/UserUid.php, line 17

Class

UserUid
Filter handler, accepts user ID to check for nodes user posted/commented on.

Namespace

Drupal\comment\Plugin\views\filter

Code

public function query() {
  $this->ensureMyTable();
  $subselect = Database::getConnection()->select('comment_field_data', 'c');
  $subselect->addField('c', 'cid');
  $subselect->condition('c.uid', $this->value, $this->operator);
  $entity_id = $this->definition['entity_id'];
  $entity_type = $this->definition['entity_type'];
  $subselect->where("[c].[entity_id] = [{$this->tableAlias}].[{$entity_id}]");
  $subselect->condition('c.entity_type', $entity_type);
  $condition = $this->view->query
    ->getConnection()
    ->condition('OR')
    ->condition("{$this->tableAlias}.uid", $this->value, $this->operator)
    ->exists($subselect);
  $this->query
    ->addWhere($this->options['group'], $condition);
}

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