【问题标题】:Ruby how to use ActiveRecord join result?Ruby 如何使用 ActiveRecord 连接结果?
【发布时间】:2018-07-16 20:18:47
【问题描述】:

我已经加入了 3 个表格,例如

result = A.joins("INNER JOIN B B1 ON A.id = B1.A_id")
          .joins("INNER JOIN B B2 on A.id = B2.A_id")
          .where("B1.key" => "B1", "B2.key" => "B2")

如何分别检索对象 A、B1、B2?像这样?

result.map {|res|
  A = res.A
  B1 = res.B1
  B2 = res.B2
}

谢谢

【问题讨论】:

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


【解决方案1】:

您想使用includes 从您的关联中预加载记录。或者,您可以使用 join 然后 preload 您的关联。您还可以使用pluck 方法从表中提取特定字段,如下所示:

A.joins(...).pluck("table_name1.field_name, table_name2.field_name, table_name3.field_name")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-07
    • 2012-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-30
    相关资源
    最近更新 更多