Как отправить идентификатор пользователя вместе с заголовком и текстом сообщения - PullRequest
0 голосов
/ 23 сентября 2019

Я работаю с 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 остается пустым

...