查找具有嵌套关联条件的所有用户 - Rails 4

时间:2014-11-14 00:36:50

标签: ruby-on-rails rails-activerecord

我试图找到所有回复某个帖子的用户。

用户有很多消息。消息有一个对话。我使用名为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关联),但希望它可以让您了解我尝试做什么。

1 个答案:

答案 0 :(得分:1)

尝试类似:

User.joins(messages: :conversation).where(conversations: { related_object_id: post }).uniq