Como eu poderia visalizar os atributos de uma FK. Além do id também visualizar os outros atributos da FK.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Como eu poderia visalizar os atributos de uma FK. Além do id também visualizar os outros atributos da FK.
Olá, Gilmar tudo bem com você? Gilmar, eu encontrei uma solução, acredito não ser a melhor, mas já é um começo. No arquivo PessoaController.js, eu modifiquei o método pegaUmaMatricula e ficou assim:
static async pegaUmaMatricula(req, res) {
const { estudanteId, matriculaId } = req.params;
try {
const umaMatricula = await database.Matriculas.findOne({
where: {
id: Number(matriculaId),
estudante_id: Number(estudanteId)
}
});
umaMatricula.estudante_id = await database.Pessoas.findOne({ where: { id: Number(estudanteId) } });
return res.status(200).json(umaMatricula);
} catch (erro) {
return res.status(500).json(erro.message);
}
}Eu adicionei essa linha, que basicamente, depois que é feita a primeira busca no database e salva o resultado na variável umaMatricula, eu peguei essa variável, e como ela é uma instancia da tabela Matricula, eu simplesmente peguei o atributo estudante_id e atribui a ele uma nova busca no database, porém dessa vez eu busquei na tabela Pessoas e ela me trouxe o estudante que fez a matricula. Essa é a linha a qual estava me referindo:
umaMatricula.estudante_id = await database.Pessoas.findOne({ where: { id: Number(estudanteId) } });E esse é o retorno que eu obtive:
