You are here

function search_api_test_hooks_search_api_query_views_search_api_test_view_alter in Search API 8

Implements hook_search_api_query_TAG_alter().

File

tests/search_api_test_hooks/search_api_test_hooks.module, line 15
Tests all the hooks defined by the Search API module.

Code

function search_api_test_hooks_search_api_query_views_search_api_test_view_alter(QueryInterface $query) {
  \Drupal::messenger()
    ->addStatus("Freeland");

  // Exclude the node with ID 2 from the search results.
  $query
    ->setOption('tag query alter hook', TRUE);
  $index = $query
    ->getIndex();
  $fields = $index
    ->getFields();
  foreach ($index
    ->getDatasources() as $datasource_id => $datasource) {
    if ($datasource
      ->getEntityTypeId() == 'node') {
      $field = Utility::createCombinedId($datasource_id, 'nid');
      if (isset($fields[$field])) {
        $query
          ->addCondition($field, 2, '<>');
      }
    }
  }
}