我有这些模特:
章节有多个问题
问题有一个答案
一个答案属于一个用户和一个问题
所以我想要一个指定的用户,所有带有链接问题的部分和链接的答案,如果没有答案
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 })
感谢您的帮助
答案 0 :(得分:2)
您必须自己编写左连接。
Section.joins("left join questions on questions.section_id = sections.id")
.joins("left join answers on answers.question_id = questions.id")