嗨,我在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