Estoy tratando de crear un comando de aprobación.
Todo sobre él, debería estar funcionando, pero nunca funciona correctamente.
Cambié mi base de datos para tener "id" primero, pero todavía prefiere actualizar en "usuario".
He intentado que mi código sea simplemente; pero eso nunca funcionó. Aunque lo uso en cualquier otro lugar.
await ticketApproval.update({status: 1});
Revisé la documentación y otras preguntas y respuestas de StackOverflow.
Nada ha funcionado todavía, pero por lo que puedo decir, nada en mi código debería indicarle que actualice la identificación del "usuario" . Ya que solo le digo que busque en el ticket "id" y en el id del "servidor"
Se siente como si simplemente estuviera ignorando por completo el Dónde.
Claramente confunde el método de update
de una instancia de registro con la update
estática de un modelo. Solo la update
estática tiene la opción where
porque actualiza varios registros en la base de datos usando condiciones pasadas en contraste con el método de update
de instancia que usa un valor de clave principal de un registro determinado para actualizarlo con valores pasados.
Comparar:
// here we have a model instance for a concrete record const ticketApproval = await Ticket.findOne({ where: { id: ticketToApprove } }) // by calling the instance `update` we always update this concrete record only // using a primary key value condition, see a primary key field defined in a model await ticketApproval.update({ status: 1 });
con
// by calling the static `update` we update all records that satisfy the indicated conditions await Ticket.update({ status: 1 }, { where: { id: ticketToApprove } });