首页 > 解决方案 > 实体货币交易架构设计

问题描述

我正在尝试在两个模型之间创建多对多关系:Entity 和 Taransaction


model Entity {
  id String @id @default(cuid())
  name String

  purchases Transactions[] // references the source field on Transaction
  sales Transaction[] // references the destination field on Transaction
}

model Transaction {
  source Entity
  destination Entity
  amount Float
  date DateTime @default(now())
}

我想要的是能够检索指向交易来源的所有实体购买以及指向交易目的地的所有实体销售。

我的问题是,这种关系的模式使用 Prisma 2 会是什么样子?

标签: prismanexus-prisma

解决方案


你能试试这个:

model Entity {
  id   String @id @default(cuid())
  name String

  purchases Transact[] @relation("purchases")
  sales     Transact[] @relation("sales")
}

model Transact {
  id            String   @id @default(cuid())
  source        Entity   @relation("purchases", fields: [sourceId], references: [id])
  destination   Entity   @relation("sales", fields: [destinationId], references: [id])
  amount        Float
  date          DateTime @default(now())
  sourceId      String
  destinationId String
}


推荐阅读