简体   繁体   English

Rails 3加入Active Record查询

[英]Rails 3 Joins Active Record query

I am stuck at join two tables using active record 3.0 我被困在使用活动记录3.0连接两个表

Table A 表A
id name 身份证名
1 xcv 1 xcv

Table B #a_id is foreign_key 表B #a_id为foreign_key
id date a_id id日期a_id
1 9/15 1 1 9/15 1

How to query using active record to get output as 如何使用活动记录查询以获取输出
id date a_name 身份证日期a_name
1 9/15/ xcv 1 9/15 / xcv

When I do 当我做

B.joins(:A)

in Model B than I get following sql 在模型B中,我得到以下sql

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

When I query it on our DB it give correct output but rails logger has wrong output 当我在数据库上查询它时,它给出正确的输出,但是Rails logger的输出错误

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

I want is 我想要的是

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

Relation is as follow 关系如下

A has_many :B
B belongs_to :A

Any help is really appreciated.. 任何帮助都非常感激..

I believe what you're looking for is 我相信你在找什么

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

then on your view, you can output 然后在您的视图上,您​​可以输出

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

or work with it in a similar manner 或以类似方式使用它

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM