在Rails控制器中,我正在设置一个这样的变量:
@users = User.find(:all, :joins => family)
这给了我所有拥有家庭的用户。我想要的恰恰相反:所有不的用户都有家庭。
我尝试添加:
:conditions=> {:family => nil}
......但是收到了错误。
正确的外部联接的正确方法是什么?
答案 0 :(得分:1)
如果family是一个相关对象,你需要检查条件子句中family_id是否为空。
:conditions => "family_id IS NULL"
答案 1 :(得分:0)
不可否认,我的Ruby很差,但我相信当遇到类似的问题时,我可以使用以下内容过滤掉NULL
:conditions => "family IS NULL"
答案 2 :(得分:0)
如果您想要执行除默认内部联接之外的其他操作,则需要将一个字符串作为:joins
参数传递给您要执行的联接的sql片段。