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

581
Visualizações
¿Cómo conectar o crear muchos registros relacionados en una consulta?

Tengo el siguiente archivo prisma.schema para una aplicación pequeña donde las cuentas de usuario tienen una relación de muchos a muchos con las habilidades. Estoy tratando de escribir una consulta de prisma que acepte una lista de habilidades y cree una nueva cuenta y también conecte las habilidades a la cuenta de usuario si existe, o cree la habilidad y luego la conecte a la cuenta si no existe.

 model Account { id Int @id @default(autoincrement()) skills SkillsOnAccounts[] } model Skill { id Int @id @default(autoincrement()) name String accounts SkillsOnAccounts[] } model SkillsOnAccounts { skill Skill @relation(fields: [skillId], references: [id]) skillId Int account Account @relation(fields: [accountId], references: [id]) accountId Int @@id([skillId, accountId]) }

Tengo algunos problemas al usar connectOrCreate .

 prisma.account.create({ data: { skills: { create: skills.map((skill) => { return { skill: { connectOrCreate: { where: { name: skill.value }, create: { name: skill.value, }, }, }, } }), }, } })

Sin embargo, estoy recibiendo un error,

 Unknown arg `name` in data.skills.create.0.skill.connectOrCreate.where.name for type SkillWhereUniqueInput. Did you mean `id`? Available args: type SkillWhereUniqueInput { id?: Int }

Parece que lo único aceptado en el objeto de conexión connectOrCreate es ID. Verifiqué esto, y funcionó para mí, pero esto parece contrario a la intuición. Si estoy usando connectOrCreate, es porque posiblemente todavía no tengo un registro para ese elemento. En este caso, es posible que no tenga una habilidad persistente en la base de datos, así que quiero crearla. Por lo tanto, todavía tengo una identificación. ¿De qué sirve usar connectOrCreate si ya tiene identificaciones para todo lo que desea conectar? ¿Puedes simplemente conectarte?

Me encantaría recibir consejos sobre cómo conectarse o crear correctamente cuando no tiene la identificación. Quiero poder pasar el nombre de la habilidad a connectOrCreate para que conecte la habilidad con ese nombre o cree una nueva habilidad con ese nombre.

¿Quizás porque no hay garantía de que el nombre sea único? Si agrego una restricción, ¿funcionaría?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

La respuesta fue que no había garantía de que el nombre fuera único. ¡Agregar @unique al campo de nombre del modelo de habilidad solucionó el problema!

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