Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Não consigo entender isso:

nao consigo entender pois já fiz todas as alterações e não coda....pede dois destino, mais o number não pode ser atribuido ao Livro????

O tipo '[affectedCount: number]' não pode ser atribuído ao tipo '[number, Livro[]]'. A origem tem 1 elementos, mas o destino exige 2.ts(2322)

async alterar({ livro }: { livro: Livro; }): Promise<[number, Livro[]]> { return this.livroModel.update(livro, { where: {

            id: livro.id

        }
    });
}
2 respostas
solução!

Se alguém mais tiver esse problema, tente usar o código dessa forma:

async update(livro: Livro): Promise<[number, Livro[]]> {
    return this.livroModel.update(livro, {
      returning: true,
      where: {
        id: livro.id,
      },
    });
  }

O segredo está no returning: true, é ela que faz retornar as colunas atualizadas do banco de dados. Detalhe que essa configuração só é suportada no bancos Postgre e SqlServer, segundo a documentação que achei.

Olá, Antonio e Rafael!

Desculpe a demora em responder vocês!

Provavelmente o problema está na versão que o Antonio utilizou. O Nest.js, como o próprio instrutor esclarece, não possui integração boa com a última versão do sequelize. Dessa maneira, se utilizar a última versão do sequelize, você precisará realizar algumas alterações em seu projeto.

A solução do problema foi muito bem explicada pelo Rafael!

Rafael, obrigada por compartilhar a solução, funciona perfeitamente no sequelize com MySQL também!

Antonio, caso o post do Rafael tenha ajudado você, por gentileza, marque como solução.

Um abraço e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software