Ruby on rails 列出活动记录中的所有唯一关联

Ruby on rails 列出活动记录中的所有唯一关联,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,我有一个名为Job的班和一个名为Hour的班 工作时间很长 在某个时刻,我选择了一组小时。现在我想得到一份这些小时所有工作的清单 有很多种方式可以让你工作几小时 如果您的收藏在AR关系上,那么您可以这样做 <hours collection>.includes(:job).map(&:job) .includes(:job).map(&:job) 如果它是一个小时数组,那么只需执行 <hours collection>.map(&:job) .map

我有一个名为Job的班和一个名为Hour的班

工作时间很长


在某个时刻,我选择了一组小时。现在我想得到一份这些小时所有工作的清单

有很多种方式可以让你工作几小时

如果您的收藏在AR关系上,那么您可以这样做

<hours collection>.includes(:job).map(&:job)
.includes(:job).map(&:job)
如果它是一个小时数组,那么只需执行

<hours collection>.map(&:job)
.map(&:job)
您也可以在子查询中实现这一点(小时收集应在AR关系上)

Job.includes(:hours)。其中(:id=>。选择(“Job\u id”))

非常感谢!我是在“包含”的东西上,但“地图”的东西对我来说是新的。如果“工作”有很多小时,那么“小时”就属于“工作”。因此,所有时间将只属于一项工作。似乎不是你想要的模型。你为什么不试着用has_和_belies_to _many$重新定义你的东西?你是对的,小时只属于一份工作,但我是根据另一个属性查询我的小时数。
Job.includes(:hours).where(:id => <hours collection>.select("job_id"))