我有两个ActiveRecords用户和帖子:
class User < ActiveRecord::Base
has_many :post
end
class Post < MyBase
belongs_to :user
end
我试图获取所有用户的列表,并所有他们的帖子。 但是,在运行以下代码时,我会收到包含ID为1或2但仅包含这些帖子的帖子的用户。我希望这些用户拥有所有帖子。 任何想法如何做到这一点?
users = User.sorted.references([:posts]).includes([:posts]).where('posts.id=1' OR posts.id=2).all
答案 0 :(得分:1)
这是一种方法,首先获取id为1或2的帖子的用户id,然后获取所有这些用户。当然还有其他方法,但这至少应该适合你。
user_ids = Post.where('id = 1 OR id = 2').pluck(:user_id)
users = User.where(id: user_ids)