所以我有这个对象,我们称它为 Dog,还有另一个对象,我们称它为 Collar。
class Dog < ActiveRecord::Base
has_one :collar
end
class Collar < ActiveRecord::Base
belongs_to :dog
end
我能得到一份有项圈的狗的名单吗?理想情况下,比以下方式稍微不那么尴尬:
Dog.joins(:collar).where(Collar.arel_table['id'].not_eq(nil))
作为对那些可能想知道“arel_table”位的人的说明,这是说“IS NOT NULL”的与 DB 无关的方式。