I'm trying to do an update on a specific line in my database using Knex's update method. My return from my command is successful, but when I look at my database, no changes have been made.
This is my code
async multipleConciliation(request, response) {
try {
const dataMultiples = request.body;
const idConciliation = request.params;
const dataToken = decoded(request.headers.authorization);
const usuario = dataToken.id;
const empresa = dataToken.empresa;
await connection('fluxo_caixa').where('id', '=', idConciliation).update({ativo: 0});
const newTransitions = dataMultiples.map((i)=>{
return {
usuario_id: usuario,
empresa_id: empresa,
fc_banco_id: i.fc_banco_id,
data_extrato: i.data_extrato,
valor_extrato: i.valor_extrato,
tipo_extrato: i.tipo_extrato,
historico_extrato: i.historico_extrato,
tipo_conciliacao: i.tipo_conciliacao,
historico_conciliacao: i.historico_conciliacao,
nf: i.nf,
fc_categoria_id: i.fc_categoria_id,
fc_terceiro_id: i.fc_terceiro_id,
fc_parent: idConciliation,
}
});
async multipleConciliation(request, response) {
try {
const dataMultiples = request.body;
const idConciliation = request.params;
const dataToken = decoded(request.headers.authorization);
const usuario = dataToken.id;
const empresa = dataToken.empresa;
await connection('fluxo_caixa').where('id', '=', idConciliation).update({ativo: 0});
const newTransitions = dataMultiples.map((i)=>{
return {
usuario_id: usuario,
empresa_id: empresa,
fc_banco_id: i.fc_banco_id,
data_extrato: i.data_extrato,
valor_extrato: i.valor_extrato,
tipo_extrato: i.tipo_extrato,
historico_extrato: i.historico_extrato,
tipo_conciliacao: i.tipo_conciliacao,
historico_conciliacao: i.historico_conciliacao,
nf: i.nf,
fc_categoria_id: i.fc_categoria_id,
fc_terceiro_id: i.fc_terceiro_id,
fc_parent: idConciliation,
}
});
await connection('fluxo_caixa').insert(newTransitions);
return response.status(200).send({ok: 'Conciliacion success'});
The part of the code that makes a new insert works fine, but the update method that is not updating my database.
I managed to find the error. When I assigned a value to the variable idConciliation, I needed to specify the index of my request object, which is id.
The correct is:
const idConciliation = request.params.id;