Rails 3 - 需要帮助了解如何使用WHERE IN(XXXXX)进行查询

时间:2010-10-21 03:12:58

标签: ruby-on-rails ruby-on-rails-3

我想构建如下的rails查询。并希望了解我如何能够自己再做一次。

伪代码:

@usersprojects = ??我在这里获得记录或对象吗?不确定?

SELECT * 来自audit_log WHERE project_id IN(@usersprojects)

IN IN()我在哪里告诉Rails如何使用record.id?

非常感谢你帮我学习这个。我想要Rails!

2 个答案:

答案 0 :(得分:3)

@ kchau的答案很接近,但您需要从这些记录中映射出project_id,如下所示:

AuditLogs.find(@userprojects.map(&:project_id))

答案 1 :(得分:0)

因此,如果@usersprojects包含您尝试查找审核日志的用户项目,则可以执行以下查询:

    logs = AuditLogs.find(@userprojects)

请参阅Rails guide以供参考。