You are here

public function Score::query in Views (for Drupal 7) 8.3

Same name in this branch
  1. 8.3 lib/Views/search/Plugin/views/sort/Score.php \Views\search\Plugin\views\sort\Score::query()
  2. 8.3 lib/Views/search/Plugin/views/field/Score.php \Views\search\Plugin\views\field\Score::query()

Called to add the sort to a query.

Overrides SortPluginBase::query

File

lib/Views/search/Plugin/views/sort/Score.php, line 25
Definition of Views\search\Plugin\views\sort\Score.

Class

Score
Field handler to provide simple renderer that allows linking to a node.

Namespace

Views\search\Plugin\views\sort

Code

public function query() {

  // Check to see if the search filter/argument added 'score' to the table.
  // Our filter stores it as $handler->search_score -- and we also
  // need to check its relationship to make sure that we're using the same
  // one or obviously this won't work.
  foreach (array(
    'filter',
    'argument',
  ) as $type) {
    foreach ($this->view->{$type} as $handler) {
      if (isset($handler->search_score) && $handler->relationship == $this->relationship) {
        $this->query
          ->add_orderby(NULL, NULL, $this->options['order'], $handler->search_score);
        $this->tableAlias = $handler->tableAlias;
        return;
      }
    }
  }

  // Do absolutely nothing if there is no filter/argument in place; there is no reason to
  // sort on the raw scores with this handler.
}