在 Rails 中使用 Where 子句时遇到了一个奇怪的问题。我想这与我的 OR 运算符语法有关。这是我的查询:
Cookie.where("ID = ? OR ID = ? OR ID = ? OR ID = ?", chocolate.to_s, sugar.to_s, peanut_butter.to_s, oatmeal.to_s)
当我尝试执行查询时,我的应用程序只是无休止地挂起。但是,如果我提交如下查询:
Cookie.where("ID = ?", chocolate.to_s)
我得到了预期的结果。对于此 where 子句的正确格式的任何帮助将不胜感激。谢谢。
更新 我进入 Rails 控制台并按照您的建议进行操作。结果是这样的:
SELECT \"TBLCookies\".* FROM \"TBLCookies\" WHERE (ID in ('4','3','2','1'))
这似乎是正确的。我打开 SQL Developer,将这个查询粘贴进去,然后运行它。我得到了预期的结果。所以那里的一切似乎都很好。但是,当我尝试在 rails 控制台中运行查询时,我什么也得不到。控制台只是无限期地挂起。任何对可能出现问题的见解都会很棒。