2015-11-23 2 views
1

У меня есть двойной has_many: через отношения, как это:Запрашивание двойной has_many: через ассоциацию

class Survey < ActiveRecord::Base 
    has_many :surveyquestions 
    has_many :questions, through: :surveyquestions 
end 

class Question < ActiveRecord::Base 
    has_many :surveyquestions 
    has_many :surveys, through: :surveyquestions 
    has_many :kpiquestions, dependent: :destroy 
    has_many :kpis, through: :kpiquestions 
end 

class Kpi < ActiveRecord::Base 
    has_many :kpiquestions 
    has_many :questions, through: :kpiquestions 
end 

Теперь я хочу, чтобы запросить вопросы, которые имеют определенную survey_id и конкретный kpi_id, но я не уверен, как спросите это?

ответ

1

Эй, вы можете попробовать этот способ

Question.includes(:surveys,:kpis).where(:surveys => {:survey_id => 1}, :kpis => {:kpi_id => 2}) 
+0

Спасибо, это будет правильный запрос: 'Question.includes (: опросы,: КПЭ) .гд (: опросы => {: идентификатор => 1},: kpis => {: id => 1}) ' – John

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