我试图找到所有回复某个帖子的用户。
用户有很多消息。消息有一个对话。我使用名为related_object_id
的对话表上的列来确保它与正确的帖子相关。
我尝试过这样的事情:
1. User.all.where(:messages.conversation(:related_object_id => post))
2. User.all.where(messages.select {|m| m.conversation.where(:related_object_id => post)})
非常糟糕的尝试(我知道我无法通过此类messages
访问where
关联),但希望它可以让您了解我尝试做什么。
答案 0 :(得分:1)
尝试类似:
User.joins(messages: :conversation).where(conversations: { related_object_id: post }).uniq