在Ruby中使用嵌入式SQL查询中的数组

时间:2013-09-12 09:28:43

标签: mysql ruby-on-rails arrays ruby-datamapper

我通过以下方法收集了模型学生的ID

ids = Student.all.map{|s| s.id}

现在我想在Ruby代码中的以下sql查询中使用上面的数组id,如下所示:

students = repository.adapter.select(%Q{select id, roll_number, major from students where id in (#{ids})})

上面的这一行给出了语法错误,因为我不能在这个sql查询中使用id作为数组。我是Ruby和Mysql的新手。那么有人可以为此提供解决方案吗?

1 个答案:

答案 0 :(得分:0)

你可以这样做

ids = Student.pluck(:id)
repository.adapter.select("some fields").where(["id IN (?)", ids])