我如何连接这两条记录和 return table 数据?

How do i join the two records and return the table data?

我正在使用 gem 考拉来获取 facebook 好友。

如何将这些结果关联到数据库的用户?

代码

facebook = Koala::Facebook::API.new(params[:facebook_access_token])
friends = facebook.get_connections("me", "friends")

return

[
  {
    "name": "Mick Fanning",
    "id": "9523891481361"
  },
  {
    "name": "Gabriel Medina",
    "id": "9523891483211"
  }
]

想法:

join = friends.map {|u| {
  :user => user = User.where(provider_uid: u['id']).first,
  :provider_uid => u['id'],
  :name => u['name']
}}

这将产生大量查询...

如何连接两条记录和 return table 数据?

无论如何,看来我得到了你的需要。先做查询。

 users = User.where(provider_uid: friends.map { |h| h['id'] })
 users.map do |u|
   {
       :user => u,
       :provider_uid => u.id,
       :name => friends.find { |f| f['id'] == u.id }['name']
   }
 end