在Rails中查询以从数据库中获取

时间:2015-04-02 07:20:25

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

我有一个表Info(:name,:friend_id)和另一个表Friends(:id,:network)。属性:网络可以是Facebook / Gmail / Linkedin。我想从所有服务中算出所有朋友,比如来自FB,Gmail和Linkedin的朋友。我有一个friends_list

friends_list = Info.where(:name => my_name)

我不想遍历friends_list并以正常方式查找每个friend_id。是否有单行查询可以给我所有来自Facebook的朋友的数量?

1 个答案:

答案 0 :(得分:0)

您可以将#count#group一起使用,查询可能需要稍微调整一下,但一般都可以。

friends_counts = Friends.joins(:info).group(:network).where(infos: {name: my_name}).count

这应该返回一个哈希数组,哈希键是网络ID,哈希值是该网络中的朋友数。