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
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
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!