【问题标题】:Rails 3 Joins Active Record queryRails 3 加入 Active Record 查询
【发布时间】:2011-09-15 17:19:05
【问题描述】:

我被困在使用活动记录 3.0 连接两个表

A表
身份证号
1 xcv

表 B #a_id 是 foreign_key
身份证日期 a_id
1 9/15 1

如何使用活动记录查询以获取输出为
id 日期 a_name
1 9/15/ xcv

当我这样做时

B.joins(:A)

在模型 B 中比我得到以下 sql

SELECT "B".* FROM "B" INNER JOIN "A" ON "A"."ID" = "B"."A_ID"

当我在我们的数据库上查询它时,它会给出正确的输出,但 rails logger 的输出错误

#<B id: 1, date"9/15/11", a_id: 2>

我想要的是

#<B id: 1, date"9/15/11", a_name: xcv>

关系如下

A has_many :B
B belongs_to :A

非常感谢任何帮助..

【问题讨论】:

    标签: sql ruby-on-rails-3 activerecord model-associations


    【解决方案1】:

    我相信你正在寻找的是

    @bees = b.includes(:a).all # this will join A and eager load your A's

    然后在你看来,你可以输出

    <% @bees.each do |b| %>
      <%= b.a.name %>, <%= b.a.date %>
    <% end %>
    

    或以类似的方式使用它

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-27
      • 1970-01-01
      相关资源
      最近更新 更多