左加入 rails 4
Left join with rails 4
我有这些型号:
部分有多个问题
问题有一个答案
一个答案属于一个用户,一个问题
所以我想请求指定的用户,所有带有链接问题和链接答案的部分,即使没有答案
Section.joins(questions: :answer).where(answers: { user_id: USER_ID })
将return只有有问题有答案的部分。
Section.joins(questions: :answer).where(answers: { user_id: USER_ID })
这行不通:
Section.joins(:questions).includes(questions: :answer).where(answers: { user_id: USER_ID })
感谢您的帮助
你必须自己写左连接。
Section.joins("left join questions on questions.section_id = sections.id")
.joins("left join answers on answers.question_id = questions.id")
我有这些型号:
部分有多个问题
问题有一个答案
一个答案属于一个用户,一个问题
所以我想请求指定的用户,所有带有链接问题和链接答案的部分,即使没有答案
Section.joins(questions: :answer).where(answers: { user_id: USER_ID })
将return只有有问题有答案的部分。
Section.joins(questions: :answer).where(answers: { user_id: USER_ID })
这行不通:
Section.joins(:questions).includes(questions: :answer).where(answers: { user_id: USER_ID })
感谢您的帮助
你必须自己写左连接。
Section.joins("left join questions on questions.section_id = sections.id")
.joins("left join answers on answers.question_id = questions.id")