版本
模式
问题和答案有布尔字段flagged
目标
急切加载问题与答案(及其关联,用户)和用户,问题和答案的条件为flagged = false
。
使用查询
Question.includes(:user, answers: [:user]).where(flagged: false, answers: { flagged: false })
问题
查询仅返回仅与之关联的Answers的问题。没有答案关联的问题不会被退回。无论是否存在答案,预计所有未被标记的问题都将被退回。
答案 0 :(得分:0)
嗯......在顽固地玩了一下代码之后,我找到了一个解决方案。
以下查询将返回与标记条件匹配的问题记录或不具有答案关联的问题记录
Question.includes(:user, answers: [:user]).where(flagged: [false, nil], answers: { flagged: [false, nil] })