我有以下 AR 关联:
Category :has_many :posts
Category :has_many :authors, :through => :posts
Post :belongs_to :author
Post :has_many :comments
在我看来,我的目标是按帖子列出评论,并按作者列出特定类别的帖子。我的查询尝试如下所示,使用包含进行急切加载。
category = Category.first
category.authors.includes(:posts => comments)
我希望我的视图列表如下:
author1
post1
comment1
post2
comment2
author2
post3
comment3
但是,当我尝试遍历 ActiveRecord::Relation 对象时,我注意到第一级作者有重复,并且大小等于帖子的大小。有没有办法让我在第一级获得不重复的作者,然后能够遍历相关的帖子和他们的评论?
我想到的另一种方法是遍历 ActiveRecord::Relation 对象并将其重写为哈希,但首先我想看看是否有 AR 方式来执行此操作。