在我的Rails 4应用程序中,我有这些模型:
class Person < ActiveRecord::Base
has_many :jobs
has_many :projects, :through => :jobs
end
class Job < ActiveRecord::Base
belongs_to :person
belongs_to :project
end
class Project < ActiveRecord::Base
has_many :jobs
has_many :people, :through => :jobs
end
在我的Project
模型中,我也有这个功能:
def show_persons_projects(person_id)
joins([:jobs, :people]).where("people.id = ?", person_id)
end
问题是这个函数经常多次返回某些项目(取决于它们在jobs
表中出现的次数)。
从输出中删除这些重复项的最佳方法是什么?
感谢您的帮助。
答案 0 :(得分:2)
试试这个:
joins([:jobs, :people]).where("people.id = ?", person_id).uniq