0

次の関係を持つA、B、C、Dという名前のレールモデルがあると考えてください。

A has_many B
B belongs_to C
A has_many C via B
C belongs_to D

さて、下の関連付けを定義するレールの方法は何ですか?

A has_many D via C
4

1 に答える 1

0
A has_many Bs
A has_many Cs, :through => Bs
(i.e B has_many Cs)
C belongs_to :D

A has_many Ds :through => Bs

SELECT COUNT(*) FROM `Ds` INNER JOIN `Cs` ON `Ds`.`id` = `Cs`.`D_id` INNER JOIN `Bs` ON `Cs`.`B_id` = `Bs`.`id` WHERE `Bs`.`A_i
于 2012-08-23T07:58:31.367 に答える