Pessoal, estou com a seguinte dúvida no meu projeto para um trabalho de faculdade: eu preciso, em uma rota especifica, mostrar os dados do usuario, que consiste basicamente do seus dados pessoais e os posts que ele realizou. O problema é que não estou conseguindo pegar suas informações pessoais e seus posts em uma consulta sql e mostrar tudo isso em uma unica pagina. Segue o que fiz:
tabela
CREATE TABLE `claudioBlog`.`users` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
`username` VARCHAR(250) NOT NULL ,
`email` VARCHAR(250) NOT NULL ,
`discription` VARCHAR (250),
`ocupation` VARCHAR (250),
`profile_image` VARCHAR (250)
`password` VARCHAR(255) NOT NULL ,
PRIMARY KEY (`id`), UNIQUE (`email`)
);
CREATE TABLE posts (
id int(100) NOT NULL AUTO_INCREMENT,
title VARCHAR(250) NOT NULL,
category VARCHAR(250) NOT NULL,
body VARCHAR(250) NOT NULL,
writer_username VARCHAR(250) NOT NULL,
post_img VARCHAR(250),
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id)
) ;
username foi adicionado como UNIQUE posteriormente
rota/funcao/sql
router.get('/writer/:name', logginRequired, storyController.writerStories)
writerStories: (req, res) => {
const name = req.params.name
pool.getConnection((err, connection) => {
connection.query('SELECT P.* FROM users U JOIN posts P on P.writer_username = U.username WHERE U.username=?',[name], (err, rows) => {
connection.release()
if(err) {
res.status(500).send(err)
} else {
const row = rows
//row esta retornando []
res.render('writer', { data: row })
}
})
})
}
Eu preciso que fique como na foto abaixo, sendo que ao invés do formulário à direita irá aparecer os posts do usuário.