public function HandlerBase::setRelationship

Called just prior to query(), this lets a handler set up any relationship it needs.

File

drupal/core/modules/views/lib/Drupal/views/Plugin/views/HandlerBase.php, line 498
Definition of Drupal\views\Plugin\views\HandlerBase.

Class

HandlerBase

Namespace

Drupal\views\Plugin\views

Code

public function setRelationship() {

  // Ensure this gets set to something.
  $this->relationship = NULL;

  // Don't process non-existant relationships.
  if (empty($this->options['relationship']) || $this->options['relationship'] == 'none') {
    return;
  }
  $relationship = $this->options['relationship'];

  // Ignore missing/broken relationships.
  if (empty($this->view->relationship[$relationship])) {
    return;
  }

  // Check to see if the relationship has already processed. If not, then we
  // cannot process it.
  if (empty($this->view->relationship[$relationship]->alias)) {
    return;
  }

  // Finally!
  $this->relationship = $this->view->relationship[$relationship]->alias;
}