小编Ger*_*tVK的帖子

Prisma API 返回关系,但客户端返回“不能为不可为空的字段返回空值..”

当我尝试从 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)

javascript graphql prisma

5
推荐指数
1
解决办法
1847
查看次数

使用 Apollo SubscriptionClient 的动态 Hasura X-Hasura-Role

根据 Hasura 中的用户角色动态更改 Apollo SubscriptionClient 中的标头的正确方法是什么?

堆:

  • 下一个JS
  • 阿波罗
  • 授权0
  • Hasura(使用角色列存储 Auth0_Id)

这里的目标是利用 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)

react-apollo next.js hasura

3
推荐指数
1
解决办法
442
查看次数

从什么时候开始是2大15(如果语句出错就很简单)

这是我工作的一个更大的网站的片段.我想要做的就是进行一些输入验证.如果它们在文本框中插入的数字大于那么最大值(这是输入框的属性)显示一个醉意错误和灰色按钮等.我无法弄清楚这里发生了什么.

>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,您将收到错误.

我究竟做错了什么

jquery if-statement input

2
推荐指数
1
解决办法
84
查看次数