简体   繁体   中英

Update failed Knexjs

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;

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM