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

150
Visualizações
La actualización de Sequelize One to Many Association no funcionará

Así es como mis dos modelos están conectados:

 DebitInvoice.hasMany(DebitInvoiceProduct, { onDelete: 'CASCADE', onUpdate: 'CASCADE', foreignKey: 'invoice_serial' }); DebitInvoiceProduct.belongsTo(DebitInvoice,{ foreignKey: 'serial' });

Estoy tratando de actualizar DebitInvoice y, al hacerlo, también necesito eliminar las filas anteriores de DebitInvoiceProduct y agregar otras nuevas. Es por eso que estoy usando onUpdate: 'CASCADE' . Estoy intentando con este código:

 const result = await DebitInvoice.update({ invoice_for: 'data', invoice_date: 'data', /* other fields */ DebitInvoiceProducts: productList, },{ where: {serial: 'data'} }, include: [DebitInvoiceProduct] );

Puedo actualizar los campos de DebitInvoice pero no sucede nada en DebitInvoiceProduct

¿Dónde estoy haciendo mal o qué debo hacer para obtener lo que necesito?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

la update no tiene la opción de include , por lo que debe llamar a setDebitInvoiceProducts para cada instancia del modelo DebitInvoice o llamar a destroy y create en DebitInvoiceProducts :

 const invoices = await DebitInvoice.findAll({ where: {serial: 'data'} }); for (const invoice of invoices) { const invoiceProducts = productList.filter(x => <here are conditions to get product list for a certain invoice>) await invoice.setDebitInvoiceProducts(invoiceProducts) }

O

 const invoices = await DebitInvoice.findAll({ where: {serial: 'data'} }); await DebitInvoiceProducts.destroy({ where: { invoiceId: { [Op.in]: invoices.map(x => x.id) } } }) for (const invoice of invoices) { await DebitInvoiceProducts.bulkCreate(productList.map(x => ({ productId: x.id, invoiceId: invoice.id }))) }
over 4 years ago · Santiago Trujillo 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