由于策略和用户位于两个不同的数据库上,我无法在where“includes”语句中添加where子句(由于AR构造单个查询而不是使用不同查询的方式,throws表不存在错误)。我可以Policies :belongs_to Users
然后当我做Policies.active.state('NY).includes(:users)
时我也会得到与该poicy关联的用户,但是我不能做Policies.active.state('NY').includes(:users).where(users: {status_code: 'A'})
因为它会抛出表不存在错误的用户(在另一个数据库)。
所以我想做的是能够从以下结果中获取结果:
policies = Policies.active.state('NY').includes(:users)
并抛弃不包含用户返回的策略:
Users.where(status_code: 'A')
如果查询只能针对从第一个查询返回的用户执行,那么这将是最好的