【问题标题】:How to do outer join in rails如何在rails中进行外部连接
【发布时间】:2016-04-26 07:52:34
【问题描述】:

我需要在 Rails 中外部加入

@recent_details = Property.joins(:space_amenities,:event_suitabilities,:purpose_suitabilities,:venue_categories).where(id: params[:id])

这个活动记录给了我内在的加入。但我需要与此活动记录进行外部联接。

请帮忙 任何帮助都是可观的

【问题讨论】:

  • 如果要进行左外连接,请使用includes 而不是joins
  • @Pavan 谢谢 :) 工作正常 :)

标签: ruby-on-rails ruby-on-rails-3 activerecord


【解决方案1】:

如果您想要 LEFT OUTER 联接,您可以使用 includes,或者您可以添加手动联接,例如:

@recent_details = Property.joins("LEFT OUTER JOIN space_amenities ON space_amenities.property_id = properties.id ").where(id: params[:id])

通过这种类型的连接,您可以添加任何类型的连接,例如 RIGHT outer 等。

【讨论】:

    【解决方案2】:

    LEFT, RIGHT (OUTER) JOIN 在编译 JOINS 时具有相同的约定,所以基本上你指定你的需要:

    @recent_details = Property.joins("LEFT OUTER JOIN space_amenities ON space_amenities.property_id = properties.id").where(id: params[:id])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-01
      • 2021-08-24
      • 1970-01-01
      • 1970-01-01
      • 2011-12-23
      • 2019-02-06
      • 2022-01-23
      • 2012-05-30
      相关资源
      最近更新 更多