OR 在视图的参数中——如何重写视图查询?

发布于 2024-09-03 06:44:36 字数 275 浏览 2 评论 0原文

我需要在视图的参数部分使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

滥情空心 2024-09-10 06:44:36

您可以尝试 Views Or 模块,或者考虑 这篇文章

You could try the Views Or module, or consider this other post.

药祭#氼 2024-09-10 06:44:36

我已经回答了类似的问题这里

基本上你可以使用 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文