我试图改变drupal视图-2查询,基本上想添加一个更多的表。我能够使用hook_views_query_alter()更改查询的where子句,但不知道如何连接另一个表。
function module_views_query_alter(&$view, &$query) {
if ($view->name == 'view1_name') {
$query->where[0]['args'][] = 'SOMETEXT';
$query->where[0]['clauses'][] = "QUERY";
}
if($view->name = 'view2_name'){
$query->table_queue['content_type_sold_product'];
$query->tables['content_type_sold_product'];
}
}
为什么我要这样做-如果关系选项卡在视图中可用,用于连接表,但在我的情况下,我想要连接的表包含的字段不是一个节点引用,但字段名及其值与视图表中的一个表匹配。
有人知道如何在views_query_alter()中执行JOIN吗?
似乎有两种不同的方法可以做到这一点,参见这些链接:
为hook_views_query_alter()添加JOIN语句
在views_query_alter()中添加表的Join, Where和Order By
回答自己的问题
幸运的是我找到了这些链接
http://drupalmodules.com/module/reverse-node-reference模块增强了节点引用字段的反向关系视图。
您可能还需要http://drupal.org/project/noderelationships