簡體   English   中英

如何在 Prisma 中創建正確的關系

[英]How to create the correct relation in Prisma

我想構建一個聊天應用程序。

我有兩個模型,一個用戶和一條消息。

每條消息都應該有一個對接收者和發送者的引用,它們都是用戶類型。

用戶應該包含他作為發送者或接收者的所有消息的列表。

我嘗試了多種方法,但總是出現錯誤,例如缺少相反的字段。

model User {
  id Int
  name String
  messages Message[]
}

model Message {
  id Int
  text String
  sender User
  receiver User
}

我會這樣 model :

```prisma
model User {
  id               Int       @id
  name             String
  sentMessages     Message[] @relation("sentMessages")
  receivedMessages Message[] @relation("receivedMessages")
}

model Message {
  id         Int    @id
  text       String
  sender     User   @relation(name: "sentMessages", fields: [senderId], references: [id])
  receiver   User   @relation(name: "receivedMessages", fields: [receiverId], references: [id])
  senderId   Int
  receiverId Int

}
```

這消除了與User model 的兩種關系的歧義,因此 Prisma 可以理解哪個是哪個。

您可以在他們的文檔中閱讀有關該概念的更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM