where子句包含

时间:2015-10-09 08:57:57

标签: sql ruby-on-rails

我有User模型与Identity模型有很多关系。 我想用where子句执行includes查询。

User.includes(:identities).where("identities.provider = 'facebook')

但它给了我错误。

  

PG :: UndefinedTable:错误:缺少表的FROM子句条目   “同一性”

虽然它可以正常使用连接

User.joins(:identities).where("identities.provider = 'facebook')

我不想使用范围。我只想像使用连接子句一样使用where

1 个答案:

答案 0 :(得分:2)

来自APIdoc

  

如果您想为所包含的模型添加条件,则必须这样做   明确地引用它们

includes 条件 一起使用时,您需要在结尾添加.references。以下应该有效

User.includes(:identities).where('identities.provider = ?', 'facebook').references(:identities)