1

私はCoachモデルを持っています:

has_many :qualifications

attribute_id一部が であり、一部がであるすべてのコーチを検索したいと考えnilています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

そのようなすべてのレコードを 1 行で取得する方法はありますか?

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 に答える