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

时间:2012-01-09 10:39:42

标签: drupal-7 drupal-views

我想更改一个视图并将其与taxonomy_index表连接,但似乎此代码不起作用

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');
}

如何使用taxonomy_index表加入此视图的查询?

1 个答案:

答案 0 :(得分:1)

我遇到了类似的问题,并且能够使用hook_query_alter而不是hook_views_query_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');
  }
}
相关问题