我需要在Drupal View中的某些过滤器之间实现OR运算符.默认情况下,Drupal AND的每个过滤器都在一起.
通过使用
hook_views_query_alter(&$view, &$query)
Run Code Online (Sandbox Code Playgroud)
我可以访问查询(var $ query),我可以更改:
$query->where[0]['type']
Run Code Online (Sandbox Code Playgroud)
'或',或
$query->group_operator
Run Code Online (Sandbox Code Playgroud)
'OR'
但问题是,我到处都不需要OR.我已经尝试将它们分别更改为OR,并且它不会产生所需的结果.
它似乎改变了这些值,把OR放在任何地方,而我需要=>(滤波器1和滤波器2)或(滤波器3),所以只需1或.
我可以检查View的查询,复制它,修改它,然后通过db_query运行它,但那只是脏的..
有什么建议 ?
Thx提前.