在ActiveRecord中,你可以使用where
方法来设置AND条件,并在关联中搜索多个id。下面是一个示例代码:
class User < ApplicationRecord
has_many :posts
end
class Post < ApplicationRecord
belongs_to :user
end
假设你想要在关联的posts
表中搜索多个用户的帖子,你可以按照以下方式编写查询代码:
user_ids = [1, 2, 3] # 要搜索的用户id数组
posts = Post.joins(:user) # 加入关联
.where(users: { id: user_ids }) # 设置AND条件,搜索多个用户id
在上面的代码中,我们首先声明了要搜索的用户id数组user_ids
,然后使用joins
方法将posts
表与users
表关联起来。接下来,我们使用where
方法来设置AND条件,指定在users
表中搜索id
字段等于user_ids
数组中的值。
这样,你就可以检索到与指定用户id相关联的帖子了。