这是我提出的上一个问题的后续跟进。我无法获得具有嵌套模型的各种条件的查询。
user has_one avatar
user has_one profile
avatar belongs_to user
profile belongs_to user
我实际上能够让这个工作......
Avatar.find(:all, :include => {:user => :profile}, :conditions => {:users => {:profiles => {:description => 'foo'}}})
但是如果profile.description不是NULL,我希望它返回一个头像。
Avatar.find(:all, :include => {:user => :profile}, :conditions => {:users => {:profiles => "profiles.description IS NOT NULL"}})
因此,当我更改查询以遵循SQL语法而不是轨道语法时,我收到错误“No such column user.profiles”
似乎无论我使用什么语句“profiles.description IS NOT NULL”,错误都是一样的。它必须是那种结构的其他东西。
答案 0 :(得分:1)
试试这个:
Avatar.all(:include => {:user => :profile},
:conditions => ["profiles.description IS NOT NULL"])
您必须使用conditions数组进行此类查询。