#javascript #node.js #express #knex.js
#javascript #node.js #экспресс #knex.js
Вопрос:
Я пытаюсь выполнить обновление определенной строки в моей базе данных, используя метод обновления Knex. Мой возврат из моей команды прошел успешно, но когда я просматриваю свою базу данных, никаких изменений внесено не было.
Это мой код
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'});
Часть кода, которая создает новую вставку, работает нормально, но метод обновления, который не обновляет мою базу данных.
Ответ №1:
Мне удалось найти ошибку. Когда я присваивал значение переменной idConciliation, мне нужно было указать индекс моего объекта запроса, который является id.
Правильный:
const idConciliation = request.params.id;