嗨,我在graphql中查询除id之外的字段时遇到一些问题

我正在使用GraphQL进行查询,数据库位于postgreSQL中,我们之间有一个sequelize作为ORM

此查询有效

query Category{
 category(id:1){
  name id
 }
}

并在控制台中运行它,它也适用于pgAdmin

执行(默认):SELECT“id”,“name”,“createdAt”,“updatedAt”FROM“category”AS“category”WHERE“category” . “id”='1';

但是此查询将两个字段都返回为null

query Category{
 category(name:"Electricity"){
  name id
 }
}

此查询在控制台中运行,在graphql上返回所有字段为null,但在pgAdmin上运行时仍然有效

执行(默认):SELECT“id”,“name”,“createdAt”,“updatedAt”FROM“category”AS“category”WHERE“category” . “name”=“Electricity”;

这是类别的查询代码

import {
  GraphQLID,
  GraphQLString,
  GraphQLNonNull,
  GraphQLInt
} from 'graphql'

import models from '../../../models/index'
import Category from '../../types/category'

export default {
  type: Category,
  args: {
    id: {
      type: GraphQLID
    },
    name: {
      type: GraphQLString
    }
  },
  resolve(root, args) {
    if (args.name == null) {
      return models.category.findById(args.id)
    }
    return models.category.findAll({
      where: {
        name: args.name
      }
    })
  }
}

我搜索了一下,发现也许它必须用参数绑定做一些事情,但这似乎不适用于最新版本的sequelize

模型定义为它们应该和类型

SOLVED