我有User
模型与Identity
模型有很多关系。
我想用where子句执行includes
查询。
User.includes(:identities).where("identities.provider = 'facebook')
但它给了我错误。
PG :: UndefinedTable:错误:缺少表的FROM子句条目 “同一性”
虽然它可以正常使用连接
User.joins(:identities).where("identities.provider = 'facebook')
我不想使用范围。我只想像使用连接子句一样使用where
。
答案 0 :(得分:2)
来自APIdoc
如果您想为所包含的模型添加条件,则必须这样做 明确地引用它们
将includes
与 条件 一起使用时,您需要在结尾添加.references
。以下应该有效
User.includes(:identities).where('identities.provider = ?', 'facebook').references(:identities)