Я хочу получить сообщение, написанное участником.на моей странице.Но все сообщения всех участников загружены.
user.nick работает отлично.user.id хранится в посте.Я пытался сравнить user.id == post.id, но это не удалось.
Что я сделал.
page.js
router.get('/', (req, res, next) => {
Post.findAll({
include: [{
model: User,
attributes : ['id', 'nick']
// where : { id: req.user}
// where: { id : Sequelize.col('Post.id') }
}],
})
.then((Post) => {
res.render('mypage', {
Post: req.food,
twit : Post,
user: req.user,
loginError: req.flash('loginError'),
});
console.log(JSON.stringify(Post))
})
.catch((error) => {
console.error(error);
next(error);
});
mypage.ejs
<% if(user && user.id) { %>
<h4> <%= user.nick %></h2></a>
<h4> not <%= twit.posts %></h2></a>
<% for ( var i = 0; i < twit.length; i++){ %>
<h4> <%= twit[i].posts%></h2></a>
<h4> <%= twit[i].id %></h2></a>
<h4> <%= twit[i].user.nick %></h2></a>
<% } %>
<% } %>
index.js
db.sequelize = sequelize;
db.Sequelize = Sequelize;
db.User = require('./user')(sequelize, Sequelize);
db.Post= require('./Post')(sequelize, Sequelize);
db.User.hasMany(db.Post);
db.Post.belongsTo(db.User);