缺少参数“user”。Prisma 关系错误

Argument `user` is missing. Prisma relationship error

提问人:Ethical Hacking 提问时间:11/14/2023 更新时间:11/15/2023 访问量:41

问:

我在 User 和 Login 表之间声明了如下关系。

model Login {
  id String @id @default(uuid())
  user   User    @relation(fields: [userId], references: [id])
  userId String @db.VarChar(255)
}

model User {
  id      String   @id @default(uuid())
  email String @unique @db.VarChar(255)
  logins Login[]
}

然后我检查数据库中是否存在用户,如果存在,我尝试记录登录历史记录。

const getUser = await prisma.user.findUnique({
    where: {
        email: email
    }
})

if(getUser){
    try {
        await prisma.login.create({data:{
            userId: getUser.id,
        }})
    } catch (e) {
    if (e instanceof Prisma.PrismaClientKnownRequestError) {
            console.log("PRISMA ERROR", e.code)
        }
        throw e
    }
    
}

尽管按照文档做了所有操作,但我还是遇到了错误

Argument `user` is missing.

仍然无法找到关于如何解决这个问题的连贯答案。数据库 MYSQL

MySQL Prisma

评论

1赞 user1191247 11/14/2023
根据文档,它应该可以工作。如果使用 connect api - ,您是否有同样的问题?这似乎不太可能,但它可能是由不同的数据类型声明引起的 - 和 ?await prisma.login.create({ data: { user: { connect: { id: getUser.id } } } })id StringuserId String @db.VarChar(255)
1赞 Ethical Hacking 11/15/2023
@user1191247谢谢伙计。物业连接对我有用

答:

-1赞 Raphael Braga 11/15/2023 #1

当这个错误发生在我身上时,我在我的表中创建了一个初始记录,将两者链接起来以解决它。