Как выполнить внутреннее объединение массива и таблицы - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть массив хэшей, в котором хранятся данные из API.Как я могу выполнить inner join на нем с таблицей.

> posts
[{ uuid: 'post1', user_uuid: 'user1' },
 { uuid: 'post2', user_uuid: 'user2' }]

> User.all
#<ActiveRecord::Relation [#<User id: 1, uuid: "user1", name: "User1">]>

Я ожидаю получить массив, такой как

[{ uuid: 'post1', user_uuid: 'user1', user_name: 'User1' }]

user2, не существует в таблице, поэтому он будетне быть в массиве результатов.

1 Ответ

0 голосов
/ 12 февраля 2019

это пример кода выше , а не внутреннего объединения , поскольку другая таблица (сообщения) не является реляционной таблицей в базе данных

arr1 = Array.new
users = User.all
users.each do |user|
 post = posts.detect { |d| d[:user_uuid] == user.uuid }
 # detect will check if here is matching between user and posts content
 arr1 << {uuid: post[:uuid], user_uuid: post[:user_uuid], user_name: user.name} if post.present?
end
puts arr1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...