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

发布于 2024-11-24 15:25:11 字数 587 浏览 1 评论 0原文

用户有很多关系

在我的关系表中,我有一个字段:referee,其中包含每个记录的 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.where(:id => @refs_user_id).each do |user|
  user.name
end

对活动记录高级查询、范围等进行了一些读取/观看,但是似乎不太明白这里需要什么。任何建议将不胜感激,谢谢!

User has many Relationships

In my relationships table i have a field :referee containing a user_id for each record.
Each record also has user_id foreign key

I want to find the records that have current_user.id in the :referee field and select user_id from the foreign key field for each one.

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

This results in an array like this,

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

I now want to find User attributes for each of the ids in the array, I've tried but so far failed, for example:

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

Did some reading/watching on active record advanced queries, scopes etc but can't quite seem to grasp what's required here. Any suggestions would be much appreciated, thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

絕版丫頭 2024-12-01 15:25:11

您可以将 ids 数组传递给 ActiveRecord

 User.find([1,2,3,4,5,6])

如果您只想获取 ids:

     User.find(:all, :conditions => 'id IN (?)',[1,2,3,4,5,6], :select => 'id')

那只会返回 ids。

You can just pass an array of ids to ActiveRecord

 User.find([1,2,3,4,5,6])

And if you just want to get the ids:

     User.find(:all, :conditions => 'id IN (?)',[1,2,3,4,5,6], :select => 'id')

That will only return the ids.

冰火雁神 2024-12-01 15:25:11

您可以仅选择 user_id 组件,如下所示:

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

You can select just the user_id components like this:

User.where(:id => @refs_user_id.map(&:user_id)).each do |user|
  user.name
end
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文