2010-08-17 1 views
1

У меня есть Coach модель, которая:Помощь в ActiveRecord найти с включить в условия

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
find_all_by_attribute_id(nil).select(&:qualification) 
+0

Но я сказал attribute_id как же мы manager_id здесь? – Garfield

+0

@shikher: исправлено :) – bragboy

0

Я думаю, вы не можете сделать это с помощью чисто рубинового синтаксиса. Я могу думать только о следующем (уродливом) способе

Coach.find(:all, :conditions => "attribute_id IS NULL AND EXISTS(SELECT * FROM qualifications WHERE coach_id = coaches.id)") 

 Смежные вопросы

  • Нет связанных вопросов^_^