Ruby on rails 轨道挤压右外连接

Ruby on rails 轨道挤压右外连接,ruby-on-rails,outer-join,squeel,Ruby On Rails,Outer Join,Squeel,如何使generateRIGHT外部联接 这: 生成左外部联接 不,我不能做Comment.joins{user.outer},整个查询要复杂得多,我必须从user开始 如果没有,也许有人知道其他Rails方法来准备这样的查询 编辑: 谢谢@cpuguy83。我试着从第一条评论中找到解决方案,但不是那么简单。我尝试的正确连接只是链式查询的开始。我需要再次调用连接,以连接通过注释连接的关系。不幸的是,如果我这样做: User.joins(“右外部连接注释”).joins(注释::作者) 我将注释关

如何使generateRIGHT外部联接

这:

生成左外部联接

不,我不能做
Comment.joins{user.outer}
,整个查询要复杂得多,我必须从
user
开始

如果没有,也许有人知道其他Rails方法来准备这样的查询

编辑:

谢谢@cpuguy83。我试着从第一条评论中找到解决方案,但不是那么简单。我尝试的正确连接只是链式查询的开始。我需要再次调用
连接
,以连接通过
注释
连接的关系。不幸的是,如果我这样做:

User.joins(“右外部连接注释”).joins(注释::作者)


我将
注释
关系连接了两次:第一次调用连接,第二次调用连接。有没有办法解决这个问题,或者我应该切换到另一个调用
joins
,使用原始SQL
JOIN
语句?

User.joins(“右外部连接注释”)?所以唯一的方法是将几乎整个SQL作为一个查询参数?那么,我为什么要用面向对象的东西来代替纯SQL呢?面向对象的查询接口这么差吗?从概念上讲,在这里进行正确的外部连接有什么意义?您返回的是用户对象,但右键将显示没有用户关联的注释,因此返回nil,因为您需要返回一个用户对象列表。。。您的意思是将所有数据从数据库拉到Ruby,并在Ruby数组和散列中处理所有这些数据?整个SQL server都准备好执行此任务了吗?@d工作正常。在SQL中,它是语法糖,您当然可以按照自己的意愿对任何查询重新排序,以使用left或right join。在AR的OO抽象中,它不是那么简单,因为order用于推断查询的其他参数。正如我所说的,我必须从用户模型开始查询。正如您所看到的,这个问题已经有3年多的历史了,我不记得我是如何做到的,但我肯定必须使用SQL。我也不记得这个查询背后的实际复杂原因,但我确信我没有找到不涉及SQL的解决方案。
  User.joins{comment.outer}