查询在graphql中不返回任何内容,但在pgadmin中返回

时间:2018-08-07 09:27:21

标签: javascript postgresql sequelize.js graphql pgadmin-4

嗨,当我查询graphql中id以外的其他字段时,我遇到了一点问题

我正在使用GraphQL进行查询,数据库在postgreSQL中,并且我们之间有一个ORM续集

此查询有效

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

并在控制台中运行它,该控制台也可在pgAdmin中使用

  

执行(默认):SELECT“ id”,“ name”,“ createdAt”,“ updatedAt”从“ category”作为“ category”在“ category”中。“ id” ='1';

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

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

此查询在控制台中运行,它在graphql上将所有字段返回为null,但是在pgAdmin上运行时确实起作用

  

执行(默认):SELECT“ id”,“ name”,“ createdAt”,“ updatedAt”从“ category”作为“ category”在“ 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

模型应按原样定义,类型也应定义

已解决

0 个答案:

没有答案