Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

584
Visualizações
Prisma using 1-1 and 1-n relation with same model

In this case, a Product has many Image, and also has one main Image.

But when i run prisma format,throw Error:

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.

my 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")
}
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

This models should solve the issue:

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")
}

These references to relations in prisma schema should be helpful.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda