【发布时间】:2014-11-16 22:21:09
【问题描述】:
我有一组记录 ID ["303", "430", "4321", "5102"]。我想使用 SQL 获取与这些 ID 匹配的所有记录:
acceptable_ids = ["303", "430", "4321", "5102"]
@users = User.where("is_awesome = true AND id IN acceptable_ids)
给出这个错误:
ActiveRecord::StatementInvalid (PG::SyntaxError: ERROR: syntax error at or near "["
编写查询以获取 ID 与 acceptable_ids 匹配的所有用户的正确方法是什么?
注意:
我知道User.find(acceptable_ids),但不能使用它,因为我正在使用 select、where 和 join 子句构建 SQL 查询。
【问题讨论】:
-
@BradWerth 请阅读我问题底部的注释,谢谢:)
-
我猜这不是你的实际代码,因为它有语法错误......
-
您的 where 语句缺少右双引号。
-
我看到了你的笔记,你看到这个答案了吗? stackoverflow.com/a/21436165/525478 或 stackoverflow.com/a/21435842/525478 或 stackoverflow.com/a/25983580/525478 ,所有这些都使用 where...这就是我从网站上的十几个问题中选择这个问题的原因之一...
标签: ruby-on-rails postgresql rails-activerecord