2015-04-23 3 views
0

У меня есть эти модели:Выравнивание по левому краю с рельсами 4

Разделы несколько Вопросы

Вопросы один ответ

Один Ответ принадлежит одному пользователю и один вопрос

Так что я хотел бы запрос для указанного пользователя, все разделы со связанными вопросами и связанные с ним ответы ДАЖЕ, если нет ответа

Section.joins(questions: :answer).where(answers: { user_id: USER_ID }) 

Вернется только раздел, в котором есть вопрос с ответом.

Section.joins(questions: :answer).where(answers: { user_id: USER_ID }) 

Это не работает:

Section.joins(:questions).includes(questions: :answer).where(answers: { user_id: USER_ID }) 

Спасибо за любую помощь

ответ

1

Вам придется написать левый присоединиться себя.

Section.joins("left join questions on questions.section_id = sections.id") 
    .joins("left join answers on answers.question_id = questions.id") 
+0

Я вижу .... Я собираюсь разбить запрос ма. – bokzor

+0

Его не работает для меня. Возвращает только те записи, у которых есть вопросы. –

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