【发布时间】:2019-11-20 22:31:00
【问题描述】:
我现在正在为 GraphQL API 设置解析器,并遇到了一些与 sequelize 中的 findAll() 函数有关的问题。
我有这两个解析器:
User: async (parent, { id }, { models }) => {
return await models.User.findAll({
where: {
ID_User: id
}
});
}
UserPK: async (parent, { id }, { models }) => {
return await models.User.findByPk(id);
}
型号:
type Query {
UserPK(id: ID): User
User(id: ID): User
}
type User {
ID_User: ID,
Username: String,
}
如果我现在运行这些查询
{
UserPK(id: 1) {
ID_User
Username
}
User(id: 1) {
ID_User
Username
}
}
只有 UserPK 返回(正确的)数据,User 查询为每个让我感到困惑的字段返回 null,因为 sequelize 执行的查询完全相同。
Executing (default): SELECT `ID_User`, `Username` FROM `User` AS `User` WHERE `User`.`ID_User` = '1';
Executing (default): SELECT `ID_User`, `Username` FROM `User` AS `User` WHERE `User`.`ID_User` = '1';
顺便说一句,我正在使用阿波罗服务器,如果这有什么不同的话。
【问题讨论】:
标签: node.js graphql sequelize.js