活动记录查询返回user_ids的哈希值,查找每个用户属性

时间:2011-07-16 21:23:24

标签: ruby-on-rails activerecord find

用户有很多关系

在我的关系表中,我有一个字段:每个记录包含一个user_id的裁判。 每条记录还有user_id外键

我想在:referee字段中找到包含current_user.id的记录,并从每个外键字段中选择user_id。

refs = Relationship.where(:referee => current_user.id).select("user_id").all 

这导致像这样的数组

[#<Relationship user_id: 16>, #<Relationship user_id: 17>]

我现在想要找到数组中每个id的User属性,我已经尝试但到目前为止失败了,例如:

User.where(:id => @refs_user_id).each do |user|
  user.name
end

有些阅读/观看活动记录高级查询,范围等,但似乎无法理解这里需要什么。任何建议都将非常感谢,谢谢!

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

您可以只选择user_id这样的组件:

User.where(:id => @refs_user_id.map(&:user_id)).each do |user|
  user.name
end