2017-01-11 6 views
0

内の1つのインスタンスによってフィルタリングすべての「has_manyの」関連するオブジェクトを取得します。 しかし、次のコードを実行すると、IDが1または2の投稿を持つユーザーが表示されますが、これらの投稿のみが表示されます。これらのユーザーにすべての投稿をもらいたい。 これを行うにはどのようなアイデアですか?は、私は2人のActiveRecordをユーザーとの投稿をしていルビー

users = User.sorted.references([:posts]).includes([:posts]).where('posts.id=1' OR posts.id=2).all

答えて

1

これは、それを行う最初のID 1または2でポストのユーザIDを取得し、その後、すべてのそれらのユーザーを取得するための一つの方法です。もちろん、他の方法もありますが、少なくともこれはあなたのために働くはずです。

user_ids = Post.where('id = 1 OR id = 2').pluck(:user_id) 
users = User.where(id: user_ids) 
関連する問題