我有3个对象:
Question
- id
- question
Answer
- question_id
- user_id
- answer
User
- id
一个答案属于一个用户和一个问题。
我想得到每一个问题和他们的同事答案。 我想要特定用户的答案。
我已经尝试了两个查询,但没有人按预期工作。
在这种情况下,如果用户回答问题。第二个用户查询将返回没有任何内容
#@questions = Question.includes(:answer).where(answers: { user_id: [@user.id, nil] })
这个用postgres返回预期的数据,但是Rails正在请求每个问题得到答案,但没有在user_id上使用条件
#@questions = Question.joins('left join answers on answers.question_id = questions.id and answers.user_id = @user_id')
我想为每个用户制作这种Json。
[
{
id: 1,
question: 'question',
answer: { id:22, answer: 'answer' }
},
{
id: 2,
question: 'question2',
answer: { id:23, answer: 'answer' }
},
{
id: 3,
question: 'question3',
answer: null
},
]
非常欢迎任何帮助。
我无法弄明白