在这个例子中,101有一个,还有一个有一个.

但当我跑prisma format时,抛出错误:

error: Error validating field `image` in model `Product`: The relation field `image` on Model `Product` is missing an opposite relation field on the model `ProductImage`. Either run `prisma format` or add it manually.

我的schema.prisma:

model ProductImage {
  id         String   @id @default(uuid()) @db.VarChar(36)
  product_id String
  product    Product  @relation(fields: [product_id], references: [id])
  src        String   @db.VarChar(255)
  created_at DateTime @default(now())
  updated_at DateTime @default(now()) @updatedAt

  @@map("product_image")
}

model Product {
  id         String         @id @default(uuid()) @db.VarChar(36)
  image_id   String
  image      ProductImage   @relation(name: "main_image", fields: [image_id], references: [id])
  images     ProductImage[]
  slug       String         @unique(map: "slug") @db.VarChar(255)
  title      String         @db.VarChar(255)
  created_at DateTime       @default(now())
  updated_at DateTime       @default(now()) @updatedAt

  @@map("product")
}

推荐答案

这种模式应该可以解决这个问题:

model Product {
  id         String         @id @default(uuid()) @db.VarChar(36)
  image_id   String         @unique
  // image   ProductImage   @relation(name: "main_image", fields: [image_id], references: [id])
  image      ProductImage   @relation(name: "main_image", fields: [image_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
  images     ProductImage[]
  slug       String         @unique(map: "slug") @db.VarChar(255)
  title      String         @db.VarChar(255)
  created_at DateTime       @default(now())
  updated_at DateTime       @default(now()) @updatedAt

  @@map("product")
}

model ProductImage {
  id                 String    @id @default(uuid()) @db.VarChar(36)
  src                String    @db.VarChar(255)
  created_at         DateTime  @default(now())
  updated_at         DateTime  @default(now()) @updatedAt
  product_id         String
  product            Product   @relation(fields: [product_id], references: [id])
  product_main_image Product[] @relation("main_image")

  @@map("product_image")
}

prisma模式中的这references对关系应该是有帮助的.

Javascript相关问答推荐

使用useParams路由失败

如何使用React渲染器放置根dis?

如何在JavaScript中通过一次单击即可举办多个活动

为什么JavaScript双边字符串文字插值不是二次的?

如何访问Json返回的ASP.NET Core 6中的导航图像属性

if/else JavaScript中的条件行为

在网页上添加谷歌亵渎词

为什么按钮会随浮动属性一起移动?

阿波罗返回的数据错误,但在网络判断器中是正确的

覆盖TypeScrip中的Lit-Element子类的属性类型

是什么导致了这种奇怪的水平间距错误(?)当通过JavaScript将列表项元素追加到无序列表时,是否在按钮之间?

如何在.NET Core中将chtml文件链接到Java脚本文件?

如何在我的Next.js项目中.blob()我的图像文件?

在表单集中保存更改时删除';禁用';

在Vercel中部署Next.js项目时获取`ReferenceError:未定义文档`

如何找到带有特定文本和测试ID的div?

用Reaction-RT-Chart创建实时条形图

如何设置时间选取器的起始值,仅当它获得焦点时?

Firebase函数中的FireStore WHERE子句无法执行

由于http.get,*ngIf的延迟很大