当我尝试从 Prisma 客户端操场中的一对多关系返回字段时,它返回以下错误:
无法为不可为 null 的字段 DeviceConfig.device 返回 null。
我的解析器或客户端中的什么可能导致这种情况?
在后端 Prisma API playground 上运行以下查询时,它确实返回了正确的数据,以便告诉我我的突变和关系良好。
数据模型
type Device {
...
model: String! @unique
...
configs: [DeviceConfig] @relation(name: "DeviceConfigs", onDelete: CASCADE)
}
type DeviceConfig {
id: ID! @unique
device: Device! @relation(name: "DeviceConfigs", onDelete: SET_NULL)
name: String!
...
}
Run Code Online (Sandbox Code Playgroud)
解析器
deviceConfig: async (parent, { id }, context, info) => context.prisma.deviceConfig({ id }, info)
Run Code Online (Sandbox Code Playgroud)
询问
{
deviceConfig(id:"cjqigyian00ef0d206tg116k5"){
name
id
device{
model
}
}
}
Run Code Online (Sandbox Code Playgroud)
结果
{
"data": null,
"errors": [
{
"message": "Cannot …Run Code Online (Sandbox Code Playgroud) 根据 Hasura 中的用户角色动态更改 Apollo SubscriptionClient 中的标头的正确方法是什么?
堆:
这里的目标是利用 Hasura 角色获取权限。我知道 JWT 令牌具有允许的角色,但我希望能够根据用户分配的角色设置角色。我要走的路径是通过 NextJS 内部 API 使用来自 auth0 的 userID 查询 Hasura 用户表中的角色。
ApolloClient.js
import fetch from 'isomorphic-unfetch'
import { ApolloClient } from 'apollo-client'
import { InMemoryCache } from 'apollo-cache-inmemory'
import { HttpLink } from 'apollo-link-http'
import { onError } from 'apollo-link-error'
import { WebSocketLink } from 'apollo-link-ws'
import { SubscriptionClient } from 'subscriptions-transport-ws'
let accessToken, role, user = null
const requestAccessToken = async () => …Run Code Online (Sandbox Code Playgroud) 这是我工作的一个更大的网站的片段.我想要做的就是进行一些输入验证.如果它们在文本框中插入的数字大于那么最大值(这是输入框的属性)显示一个醉意错误和灰色按钮等.我无法弄清楚这里发生了什么.
>if(value>max)
>value:1 max:15 = No error
>
>value:2 max:15 = Error
>..... =Error
>
>value:10 max 15 = No error
Run Code Online (Sandbox Code Playgroud)
所以我把我的代码从网站上拿出来放在jsfiddle http://jsfiddle.net/V9xfj/
它也在那里做到了.键入2,您将收到错误.
我究竟做错了什么
graphql ×1
hasura ×1
if-statement ×1
input ×1
javascript ×1
jquery ×1
next.js ×1
prisma ×1
react-apollo ×1