findUnique查询为数组字段返回null



我阅读了Prisma Relations文档,它修复了我的findMany查询,该查询能够返回有效数据,但我得到的结果与findUnique不一致。

架构

model User {
id       Int       @id @default(autoincrement())
fname    String
lname    String
email    String
password String
vehicles Vehicle[]
}
model Vehicle {
id      Int    @id @default(autoincrement())
vin     String @unique
model   String
make    String
drivers User[]
}

类型定义

const typeDefs = gql'
type User {
id: ID!
fname: String
lname: String
email: String
password: String
vehicles: [Vehicle]
}
type Vehicle {
id: ID!
vin: String
model: String
make: String
drivers: [User]
}
type Mutation {
post(id: ID!, fname: String!, lname: String!): User
}
type Query {
users: [User]
user(id: ID!): User
vehicles: [Vehicle]
vehicle(vin: String): Vehicle
}
'

这个有效

users: async (_, __, context) => {
return context.prisma.user.findMany({
include: { vehicles: true}
})
},

然而,由于某些原因,findUnique版本将不会解析"的数组字段;车辆";

这个不起作用

user: async (_, args, context) => {
const id = +args.id
return context.prisma.user.findUnique({ where: {id} }, 
include: { vehicles: true}
)
},

这就是它返回的结果

{
"data": {
"user": {
"id": "1",
"fname": "Jess",
"lname": "Potato",
"vehicles": null
}
}
}

我读了一些关于碎片的文章,并试图找到关于graphql解析器的文档,但我还没有找到任何相关的东西来解决这个问题。

任何见解都将不胜感激!谢谢

您需要修复传递给findUnique的参数。请注意{}的排列。

更改

return context.prisma.user.findUnique({ where: { id } },
//                                                  ^
include: { vehicles: true}
)

return context.prisma.user.findUnique({
where: { id }, 
include: { vehicles: true }
})

相关内容

  • 没有找到相关文章

最新更新