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

Erro ao inserir nova matricula

Ao inserir uma nova matricula esta dando erro falando que eu não passei um parametro, porem eu printei tudo que vem no boby e o parametro está la.

link projeto: https://github.com/renatoReboucas/node-sequelize

2 respostas
solução!

Olá Renato, tudo bem com você?

Eu fiz o download do seu projeto e só tive que mudar a maneira como estava escrito os atributos:

const { estudanteId } = req.params
const novaMatricula = { ...req.body, estudante_id: Number(estudanteId) 

Se você der uma checada no log do Sequelize vai ver que quanto está Estudante_id estará assim:

Executing (default): INSERT INTO `Matriculas` (`id`,`status`,`createdAt`,`updatedAt`,`turma_id`) VALUES (DEFAULT,?,?,?,?);

Da para notar que de fato está faltando um parâmetro

Ao mudar para estudante_id:

Executing (default): INSERT INTO `Matriculas` (`id`,`status`,`createdAt`,`updatedAt`,`estudante_id`,`turma_id`) VALUES (DEFAULT,?,?,?,?,?);

Acredito que na hora de fazer o select em 1, não deu problema, não daria inclusive pelo próprio mysql, mas na hora de construir as chaves deve ter bagunçado um pouco 🤔 🤔

Faz um bom tempo que não uso o Sequelize, mas até onde me lembro os campos do objeto devem seguir o padrão que está em nossos models (estudante_id e turma_id), ainda que, no banco de dados apareçam como Estudante_id :)

Abraços e Bons Estudos!

Obrigado!