Возможно, такая проблема уже обсуждалась здесь, но я даже не понимаю, как правильно гуглить такой случай.
В Rails у меня есть следующие модели:
Пользователь (has_many book_specimens, has_many дружбы, has_many друзей через дружбу, has_many книг через book_specimens)
Образец_книги (принадлежит_пользователю, принадлежит_книге)
Книга (has_many book_specimens, has_many владельцев через book_specimens)
Дружба (принадлежит_ пользователю, принадлежит_ другу)
Мне нужно искать книги среди тех, которые есть у друзей пользователя. Если взломать логику not-sql, это будет выглядеть как
результаты = [];
friends.each do | друг |
results.push (условия поиска в книге: {title: 'Lorem', owner_id: friend.id})
конец
Есть ли способ сделать это одной командой? Как тогда мне подготовить индексы?
Заранее спасибо.