Я работаю с MySQL в качестве базы данных.В настоящее время у меня есть две таблицы, сообщения и пользователи.Пользователи имеют информацию о пользователе, включая идентификатор, имя, пароль.У сообщений есть четыре столбца: PostId, PostTitle, PostBody и UserId.Моя цель - сделать так, чтобы, когда кто-то публикует сообщения (они должны войти в систему и jwt cookie присутствует, если они есть), он также отправляет UserId в таблицу записей в базе данных.
Вот моя связь, просто чтобы убедиться, что это правильно:
module.exports = function (models) {
models.users.hasMany(models.posts,
{
foreignKey: 'UserId'
});
models.posts.belongsTo(models.users,
{
foreignKey: 'UserId'
});
}
И вот мой пост-действие в моих hbs
<h3>Create new post</h3>
<form action='/users/post' method='POST'>
<div>
<label for='PostTitle'>Title</label>
<input id='PostTitle' name='PostTitle' />
</div>
<div>
<label for='PostBody'>Body</label>
<input id='PostBody' name='PostBody' />
</div>
<div>
<button type='submit'>Submit</button>
</div>
</form>
И, наконец, в моем маршруте вот что я смог выяснитьна данный момент,
router.post('/post', function (req, res, next) {
models.posts.findOrCreate({
where: {
PostTitle: req.body.PostTitle
},
defaults: {
PostBody: req.body.PostBody
}
}).spread(function (result, created) {
if (created) {
res.redirect('/users/profile');
} else {
res.send('already exists bud');
}
});
});
Как вы, вероятно, можете заметить сверху, он только отправляет заголовок и тело в базу данных, а UserId остается пустым