ruby-on-rails-3 - 在 rails3 中使用 IN 运算符查找位置

标签 ruby-on-rails-3 postgresql activerecord

我正在尝试运行如下所示的 sql

select name from appointments where location_id in (2,3,4)

以下不起作用。我正在使用 PostgreSQL

a = [2,3,4]
Appointment.select(:name).where("location_id IN ?", a)

ActiveRecord::StatementInvalid: PGError: ERROR:  syntax error at or near "2"
LINE 1: ... FROM       "appointments"  WHERE     (location_id IN 2,3,4)
                                                                 ^
: SELECT     name FROM       "appointments"  WHERE     (location_id IN 2,3,4)

最佳答案

你可以使用这个:

Appointment.select(:name).where(:location_id => [2,3,4])

希望对你有帮助

关于ruby-on-rails-3 - 在 rails3 中使用 IN 运算符查找位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6133126/

相关文章:

postgresql - 在 postgres 中以单用户模式创建扩展工作吗?

ruby-on-rails - Rails 如何查询关联定义

ruby-on-rails - Rails项目中的公用文件夹权限

ruby-on-rails-3 - Rails 3 通过 mongoid 适配器使用 MongoDB - 有没有办法在不使用单表继承的情况下共享属性规范?

ruby-on-rails - 每天向帐户用户发送包含站点更新的电子邮件 Ruby on Rails

ruby-on-rails - 如何在 Rails ActiveRecord 中的日期指定小于今天的条件

mysql - Rails 相当于 SQL 查询的事件记录查询

ruby-on-rails - Ruby on rails :- 找不到 RubyGem rails (>= 0) (Gem::LoadError)

postgresql - 计划从 PostgreSQL 导入 Solr4

sql - 有效地确定是否有任何行满足 Postgres 中的谓词