Juk*_*box 3 php sql drupal drupal-6
我需要修改一个查询视图生成,以便我可以使用高度自定义的过滤器.由于这个问题,我已经使用一些OR实现了add_where()函数:Drupal View Filters中的OR运算符
然而,这只能解决我的一部分问题.有些字段我无法过滤,因为我需要在查询中添加额外的JOIN.
有什么东西沿着这条线
$view->query->add_where()
Run Code Online (Sandbox Code Playgroud)
可以插入JOIN语句吗?
我在这里找到了答案.无耻的副本:
function hook_views_query_alter(&$view, &$query) {
$join = new views_join();
$join->table = 'my_table';
$join->field = 'my_field';
$join->left_table = 'left_table';
$join->left_field = 'left_field';
$join->type = 'left';
$join->extra = array(
array(
'field' => 'bundle',
'value' => 'user',
)
);
$query->add_relationship('relationship_name', $join, 'node');
}
Run Code Online (Sandbox Code Playgroud)