Sequelize原始mysql查询返回空字段

时间:2015-09-01 04:00:16

标签: mysql node.js sequelize.js

我有一个应用程序,询问用户多个问题。目标是不显示用户已经回答的问题。因此,如果鲍勃回答问题X,他就不会看到它。但是,如果她还没有回答,Sally会看到问题X。

我有一个MySQL查询,在我的查询编辑器中运行正常。查询连接两个表并返回一个与提供的用户名字符串不匹配的问题,或者该用户名是否为空(意味着问题尚未得到解答)。问题是在sequelize内如果用户名字符串为null,则查询返回空字段,但如果某个问题已被另一个用户名回答,则会显示问题。

这是我的工作查询:

select * from questions 
left join responses on responses.QuestionId = questions.id 
where responses.username <> 'username string' or responses.username is null
order by rand() limit 1;

这是我的续集查询:

_sequelize.query(
'select * from questions ' +
'left join responses on responses.QuestionId = questions.id ' +
'where responses.username <> "' + req.query.name + '" or responses.username  is null ' +
'order by rand() ' +
'limit 1',
{model : models.Responses})

1 个答案:

答案 0 :(得分:0)

用户错误。我的关联错误,所以我在问题表中添加了一个'beenAnswered'字段。

相关问题