`ctx.prisma.status is not a function` 错误,即使它已定义
Posted
技术标签:
【中文标题】`ctx.prisma.status is not a function` 错误,即使它已定义【英文标题】:`ctx.prisma.status is not a function` error, even though it's defined 【发布时间】:2019-09-08 17:15:39 【问题描述】:我正在使用入门指南的“构建应用程序”中的设置,尽管在目录结构方面略有修改。
我在尝试对位于 localhost:4444 的 graphql-yoga 操场运行基本查询时收到以下错误。
您可以看到架构上定义了status
,那么为什么这不起作用?
我什至很难在 localhost:4466/_admin 上插入数据,除非通过示例脚本自动生成突变 const testing = await prisma.createcnStatus( ticker: 'XXX' )
完成,否则无法直接插入数据。
查询
query
status
ticker
错误
"data":
"status": null
,
"errors": [
"message": "ctx.prisma.status is not a function",
"locations": [
"line": 2,
"column": 3
],
"path": [
"status"
]
]
app.js
require('./lib/main')
/lib/main.js
const prisma = require('./generated/prisma-client')
const GraphQLServer, PubSub = require('graphql-yoga')
const resolvers = require('./resolver')
const fs = require('fs')
const pubsub = new PubSub()
const server = new GraphQLServer(
typeDefs: './lib/schema.graphql',
resolvers,
context:
prisma,
pubsub
)
let port = 4444
server.start(
port: port,
,
() => console.log('Server is running on http://localhost:' + port)
)
/lib/resolver.js
const resolvers =
Query:
status(parent, args, ctx, info)
return ctx.prisma.status()
module.exports = resolvers
/lib/schema.graphql
type Query
status: [cnStatus]
type cnStatus
ticker: String
datamodel.prisma
type cnStatus
id: ID! @id
ticker: String
【问题讨论】:
请分享这个文件 ./generated/prisma-client. 【参考方案1】:根据您提供的数据模型,Prisma 将生成用于 CRUD 操作的客户端。
由于它是根据类型的名称生成的,它应该是这样的:
ctx.prisma.cnStatus()
【讨论】:
【参考方案2】:这里应该是 ctx.prisma.cnStatus()
const resolvers =
Query:
status(parent, args, ctx, info)
return ctx.prisma.status()
并且您需要架构中的数组,但在查询解析器中返回实例
type Query
status: [cnStatus]
【讨论】:
以上是关于`ctx.prisma.status is not a function` 错误,即使它已定义的主要内容,如果未能解决你的问题,请参考以下文章
python代码`if not x:` 和`if x is not None:`和`if not x is None:`使用
ClojureScript Is Not CoffeeScript