Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

274
Views
Actualizar campo en relación de muchos a muchos con Sequelize en NodeJs, con javascript

Tengo una relación Muchos a Muchos para hacer una relación entre Torneos y Pagadores. Entonces tengo 3 modelos:

  • Jugador: con player_id
  • Torneo: con torneo_id
  • Participante (tabla de relaciones) que se une a player_id, torneo_id y contiene otro campo 'Estado' para definir si la participación del jugador en un torneo es 'aceptada' o 'rechazada'.

Mi pregunta es: ¿cómo hacer para actualizar este campo 'estado'?

Intenté esto, pero está mal !!!

 const participation = await Participant.findAll({ where: { user_id: userId, tournament_id: tournamentId, }, }); await participation.update({ state: 'accepted' });
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

No estoy seguro de que esta sea la razón. Pero supongo que no debería usar el método findAll para su propósito.

findAll devuelve una matriz de instancias, pero el método de actualización pertenece a la instancia del modelo.

Hay algunas soluciones posibles, supongo.

  1. Usando el método Participant.findOne y actualícelo.

const participation = await Participant.findOne({ where: { user_id: userId, tournament_id: tournamentId });

  1. Usando el método Participant.findAll y haga un bucle en la matriz de resultados para la actualización.

participation.map((p) => p.update({ state: 'accepted' });

  1. Usando el método de actualización con la condición where directamente.

await Participant.update({ state: 'accepted' }, { where: { user_id: userId, tournament_id: tournamentId };

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!