【发布时间】:2010-06-28 18:06:59
【问题描述】:
我需要修改 Views 生成的查询,以便我可以使用高度自定义的过滤器。由于这个问题,我已经用一些 OR 实现了 add_where() 函数:OR operator in Drupal View Filters
不过,这只解决了我的部分问题。有些字段我无法过滤,因为我的查询中需要有额外的 JOIN。
有没有类似的东西
$view->query->add_where()
可以插入JOIN语句吗?
【问题讨论】:
-
嗯,有
$view->query->add_table()和$view->query->add_relationship(),但是它们的用法、关系和前提条件从代码中并不明显(至少对我来说不是)。难道你不能通过 Views UI 添加关系来确保你需要的表被加入吗? -
@Henrik 在深入查看视图模块中的 query.inc 文件后,我找到了您提到的功能。除了 cmets 没有什么可做的,所以用法有点模糊。另外,请将您的评论作为答案,以便我接受。
-
是的,用法不明显,并且缺少文档——我也没有尝试过使用它们,所以我对此无能为力。按照建议将评论转为回答 - 谢谢。