Drupal 7 如何在views 3.0 drupal 7.x中更改查询并与另一个表连接?

Drupal 7 如何在views 3.0 drupal 7.x中更改查询并与另一个表连接?,drupal-7,drupal-views,Drupal 7,Drupal Views,我想改变一个视图,并将其与分类法索引表连接起来,但这段代码似乎不起作用 function MY_MODULE_views_query_alter(&$view, &$query) { $view->query->add_relationship('my_join', new views_join('taxonomy_index', 'nid', 'node', 'nid','INNER'), 'taxonomy_index'); $view->query->

我想改变一个视图,并将其与分类法索引表连接起来,但这段代码似乎不起作用

function MY_MODULE_views_query_alter(&$view, &$query) {
$view->query->add_relationship('my_join', new views_join('taxonomy_index', 'nid', 'node', 'nid','INNER'), 'taxonomy_index');
$view->query->add_where('country_price', "my_join.tid IN ", '2,3');
}

如何将此视图的查询与分类索引表联接?

我遇到了类似的问题,并且能够使用hook\u query\u alter而不是hook\u views\u query\u alter。我只在where子句中使用了一个Equals,但我假设'in'也会起同样的作用

function MY_MODULE_query_alter(QueryAlterableInterface $query) {
  if ($query->hasAllTags('views', '[MY VIEW NAME]')) {
    $query->addJoin('INNER', 'taxonomy_index', 'ti', 'node.nid = ti.nid');
    $query->condition('ti.tid', '2,3', 'IN');
  }
}

我有一个类似的问题,能够使用hook\u query\u alter而不是hook\u views\u query\u alter。我只在where子句中使用了一个Equals,但我假设'in'也会起同样的作用

function MY_MODULE_query_alter(QueryAlterableInterface $query) {
  if ($query->hasAllTags('views', '[MY VIEW NAME]')) {
    $query->addJoin('INNER', 'taxonomy_index', 'ti', 'node.nid = ti.nid');
    $query->condition('ti.tid', '2,3', 'IN');
  }
}
这将不起作用,因为“addJoin”未定义为“views\u plugin\u query\u default”的方法这将不起作用,因为“addJoin”未定义为“views\u plugin\u query\u default”的方法