Как мне объединить две записи и вернуть данные таблицы?

Я использую драгоценный камень Коала, чтобы завести друзей на Facebook.

Как соотнести эти результаты с пользователями базы данных?

код

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

вернуть

[
  {
    "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']
}}

Это будет генерировать много запросов...

Как мне объединить две записи и вернуть данные таблицы?

1 ответ

Решение

Во всяком случае, кажется, я получил вашу потребность. Сделайте запрос первым.

 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
Другие вопросы по тегам