我想在第一个模型上用连接和where链接一个查询
FbGroup.joins(:fb_posts).where(id: [1,2])
# this returns a lot of extra rows
FbGroup.joins(:fb_posts).where('fb_groups.id IN (?)', acct_ids)
# also tried this with no luck
在执行joins时,如何首先按具有特定ids的fb_groups进行过滤?
发布于 2019-03-01 09:22:46
同时使用这两种方法不是很有效吗?
FbGroups.joins(:fb_groups).where(id: [1,2]).where('fb_groups.id IN (?)', acct_ids)
PS你也可以使用
FbGroups.joins(:fb_groups).where(id: [1,2]).where(fb_groups: {id: acct_ids})
或者,由于两个where
现在都使用散列参数:
FbGroups.joins(:fb_groups).where(id: [1,2], fb_groups: {id: acct_ids})
发布于 2019-03-01 14:43:28
FbGroup.distinct.joins(:fb_posts).where
.not(id: FbGroup.joins(:fb_posts)
.where(fb_groups: {id: [1,2]}).distinct)
https://stackoverflow.com/questions/54936315
复制相似问题