尝试通过以下方式使用ActiveRecord的joins
界面:
Foo.joins(:user).where(user_id: users).where('users.some_col IS NOT NULL')
在这种情况下,Foo
具有belongs_to :user
,而User
具有关系has_many :foos
在这种情况下,出现以下错误:
Column 'id' in field list is ambiguous
users
在这种情况下是用户ID的数组。
我哪里出错了?
答案 0 :(得分:1)
由于列id
同时存在于表foos
和users
中,因此数据库不知道where语句中指的是哪一个,请尝试:
where(foos: {id: something})
或
where(users: {id: something})