【发布时间】:2019-01-23 19:26:43
【问题描述】:
假设我有 3 个模型,A、B 和 C(其中 A 有很多 B,B 有很多 C):
class A < ActiveRecord::Base
has_many :bs
end
class B < ActiveRecord::Base
belongs_to :a
has_many :cs
end
class C < ActiveRecord::Base
belongs_to :b
end
所以这里一切正常。使用A.first.bs,我得到与A 的第一个实例相关联的B 的所有实例,使用C.last.b,我得到与C 的最后一个实例相关联的B 的实例,等等。
但是想能够做到A.first.cs和C.last.a,我该怎么做呢?
我想这样做是因为我希望能够做到C.all.joins(:a),因为我想绘制一些关于C 实例的统计数据,按A 分组。还有其他方法可以做到这一点吗?
【问题讨论】:
标签: ruby-on-rails activerecord rails-activerecord activeadmin rails-models