检索与联结表的多对多关联中的最新版本

时间:2013-04-11 17:09:30

标签: ruby-on-rails ruby activerecord

我有三个模型,任务,里程碑和细节。 为了记录任务的历史记录,每次任务或里程碑更改时,都会在联结(连接)表中创建新的详细记录。

我的问题是创建一个可链接的查询,以检索有关每个任务的最新信息。使用.group已经工作了一段时间:

  @most_recent_details = Detail.order("updated_at DESC").group(:task_id)

但是当我尝试进一步过滤该集合时,例如验证某个里程碑的存在,忽略上述排序并返回未包含在集合中的旧记录:

  @most_recent_details.where(milestone_id: 2)

任务
has_many:详情

里程碑
has_many:详情

详细
belongs_to:任务
belongs_to:里程碑
attr_accessible:task_title,:task_id,:milestone_id

更新

试图进一步澄清这个问题,这就是我希望应用程序以有效的方式完成的任务:

查找每个MILESTONE的每个TASK,如果该任务的相应最新DETAIL没有说没有任何已分配的里程碑。

0 个答案:

没有答案