我使用的是Rails 6.1.4,我有一个Contact模型,它与Client模型有has_one关系。客户有一个status列。但是,不是所有的联系人都有客户,但是我想返回所有客户状态为active的联系人,包括没有客户的联系人。我尝试了这个查询,但是它只返回有客户关联的对象。
@contacts = @contacts.eager_load([:client, :organization, :addresses]).where("clients.status = 'Active'").all
有人能帮我查询一下吗?
1条答案
按热度按时间whitzsjs1#
未经检验,但应朝着正确的方向前进:
Contact.eager_load([:client, :organization, :addresses]).where("clients.status = 'Active'").to_sql
这里有一个我使用的技巧:检查查询生成的SQL:
Contact.eager_load([:client, :organization, :addresses]).where("clients.status = 'Active'").to_sql
个看看它能给你带来什么,然后你可以玩
find_by_sql
: