我正在使用GraphQl进行项目,但是在通过GraphQl查询和进行续集时遇到了问题。尝试查询关联对象时,出现以下错误:
不能为非空字段User.organisation返回null。
但是当我只查询不带关联的User对象时,我没有收到任何错误,并且一切正常。这是我的代码:
查询代码:
return await models.user.findAll({ include: [{ model: models.organisation, as: 'Creator'}]});
有效的GraphQl查询:
query{users{username}}
不起作用的Graphql查询:
query{users{username organisation{id}}}
在对错误进行故障排除时,我发现在控制台记录来自数据库的响应时,它显示如下:在这里,组织数组只是显示为数组,而不是我正在寻找的实际对象,这是我可以做到的不解释...
dataValues:
{ id: 1,
username: 'asdfasd',
password: '$2b$10$ynFfJ8NFrSC7ycA0Xskjqu5uq.wegBuZkphkfMiG99F.vqN7Wqw9C',
email: 'asdf@gmo.com',
active: true,
createdAt: 2018-11-25T16:42:32.140Z,
updatedAt: 2018-11-25T16:42:32.140Z,
Creator: [Array] },
Sequelize模型关联定义:
user.associate = function(models) {
models.user.hasMany(models.organisation, {
foreignKey: 'OrgAdmin',
as: 'Creator'
});
任何帮助将不胜感激!