如何通过rails中的关联定义has_many
Posted
技术标签:
【中文标题】如何通过rails中的关联定义has_many【英文标题】:How to define has_many through via through association in rails 【发布时间】:2012-08-23 06:00:19 【问题描述】:考虑我有名为 A、B、C、D 的导轨模型,具有以下关系。
A has_many B
B belongs_to C
A has_many C via B
C belongs_to D
现在,定义以下关联的 rails 方式应该是什么?
A has_many D via C
【问题讨论】:
【参考方案1】: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
【讨论】:
以上是关于如何通过rails中的关联定义has_many的主要内容,如果未能解决你的问题,请参考以下文章
如何在has_many中获取模型的属性:通过Rails 5中的关联