Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

184
Vistas
Prisma: cree una publicación con N cantidad de categorías (explícita de muchos a muchos)

Tengo la relación Muchos-a-Muchos explícita más básica:

 model Category { id Int @id @default(autoincrement()) title String @db.VarChar(24) posts PostCategory[] } model Post { id Int @id @default(autoincrement()) title String @db.VarChar(24) categories PostCategory[] } model PostCategory { category Category @relation(fields: [categoryId], references: [id]) categoryId Int post Post @relation(fields: [postId], references: [id]) postId Int @@id([categoryId, postId]) @@unique([categoryId, postId]) }

Lo que ahora trato de lograr es crear una nueva publicación con n categorías. Así que digamos que tenemos una matriz de cadenas con n cantidad de títulos de categoría:

 const myStringArray = ["Category1", "Category2", "Category3", ...];

¿Cómo puedo crear una consulta que los agregue a todos a mi nueva publicación creada? Si lo pongo en estático no hay problema, pero ¿cómo puedo manejar una lista donde no sé el tamaño?

 const assignCategories = await prisma.post.create({ data: { title: 'First Post Title', categories: { create: [ { category: { create: { name: myStringArray[0], }, }, }, { category: { create: { name: myStringArray[1], }, }, }, ], }, }, })
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Puede usar Array.map() para mapear cada elemento de cadena en un objeto de la forma requerida

 const myStringArray = ['Category1', 'Category2', 'Category3']; const assignCategories = await prisma.post.create({ data: { title: 'First Post Title', categories: { create: myStringArray.map((title) => ({ category: { create: { title } }, })), }, }, });

Array.map() documentos:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda