2012-01-09 5 views
1

私は、ビューを変更し、taxonomy_indexテーブルとそれに参加したいが、このコードはクエリを変更し、ビュー3.0の別のテーブルと結合する方法drupal 7.x?

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

私は同様の問題があり、hook_views_query_alterの代わりにhook_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'); 
    } 
} 
+0

"addJoin"は "views_plugin_query_default"のメソッドとして定義されていないため、これは機能しません。 – Matteo

関連する問題