OR 在视图的参数中——如何重写视图查询?
我需要在视图的参数部分使用 OR 子句。因此,如果用户传递 123,我想返回 WHERE Field1 = 123 OR Field2 = 123 的行。
我相当确定这不能在视图界面中完成(但如果我错了,请纠正我)。
所以我正在尝试重写查询。哪里是执行此操作的最佳地点?
我现在处于 hook_views_pre_execute(&$view)
状态,但看起来这意味着对最终 SQL 字符串使用文本替换!
有没有更干净的方法来做到这一点?
I need an OR clause in the arguments section of a view. So if a user passes 123, I'd like to return rows WHERE Field1 = 123 OR Field2 = 123
.
I'm fairly certain this can't be done in the views interface (but please correct me if I'm wrong).
So I'm trying to rewrite the query. Where's the best place to do this?
I'm in hook_views_pre_execute(&$view)
right now, but it looks like this would mean using text replacement on the final SQL string!
Is there a cleaner way to do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以尝试 Views Or 模块,或者考虑 这篇文章。
You could try the Views Or module, or consider this other post.
我已经回答了类似的问题这里
基本上你可以使用 views_or 模块或
hook_views_query_alter
。I've answered a similar question here
Basically you can use either views_or module or
hook_views_query_alter
.