0

我有一个模型:

Class Bar < ActiveRecord::Base
#...
belongs_to :foo_A, :class_name => "Foo"
belongs_to :foo_B, :class_name => "Foo"

我想从表 Foo 中获取信息如下(代码不起作用):

Bar.joins(:foo_A, :foo_B).select("bars.*, foos_a.name as foo_a_name, foos_b.name as foo_b_name").all

当然,没有 foos_a 或 foos_b 表……只有 foos 表。

有没有办法在不编写整个 sql 查询的情况下做到这一点?

谢谢

4

1 回答 1

0

您必须为每个 belongs_to 设置 foreign_key。在同一模型中查看更多关于两个 belongs_to 关联

belongs_to :foo_A, :class_name => "Foo", :foreign_key => 'foo_a_id'
belongs_to :foo_B, :class_name => "Foo", :foreign_key => 'foo_b_id'
于 2012-09-09T09:30:30.097 回答