1

我有一个Coach模型:

has_many :qualifications

我想找到所有的教练,他们attribute_idnil一些,他们有一些qualifications。类似的东西。

def requirement
    legal_coaches = []
    coaches = find_all_by_attribute_id(nil)
    coaches.each do |coach|
        legal_coaches << coach if coach.qualifications.any?
    end
    legal_coaches
end

有没有办法在一行中获取所有这些记录?

4

2 回答 2

1
find_all_by_attribute_id(nil).select(&:qualification) 
于 2010-08-17T13:47:15.540 回答
0

我认为你不能通过纯粹的 ruby​​ 语法来做到这一点。我只能想到以下(丑陋的)方式

Coach.find(:all, :conditions => "attribute_id IS NULL AND EXISTS(SELECT * FROM qualifications WHERE coach_id = coaches.id)")
于 2010-08-17T11:46:26.087 回答