请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关联的外键没有随着 userId 更新

图片描述

插入数据的代码

router.post("/add", async ctx => {
  const { title, content, userId } = ctx.request.body;
  try {
    let data = await Article.create({
      title,
      content,
      userId
    });
    console.log(data);
    if (data) {
      ctx.body = {
        code: 200,
        msg: "ok",
        data
      };
    }
  } catch (error) {
    ctx.body = {
      code: -1,
      msg: "创建失败",
      error
    };
  }
});

外键关联的代码

// 外键关联 多对一
Article.belongsTo(User, {
  // 创建外键关联 Article.userId => User.id
  foreig: "userId"
});

User.hasMany(Article, {
  foreig: "userId"
});

正在回答 回答被采纳积分+3

1回答

双越 2020-10-28 07:43:48

课程中也讲到过,sequelize 的关联,仅仅是代码层面,Model 层面的关联,而不是数据库做的关联。

所以,你看下你数据库的数据表,是否真正建立了关联关系?

0 回复 有任何疑惑可以回复我~
  • 提问者 Administratornobug #1
    https://imgchr.com/i/BJjGoF  我看这个应该是建立好了关联关系吧?
    回复 有任何疑惑可以回复我~ 2020-10-29 22:51:19
  • 双越 回复 提问者 Administratornobug #2
    你可以看下控制台打印的 log 中的 sql 语句,sequelize 在同步数据模型时,会打印执行的 sql 。
    回复 有任何疑惑可以回复我~ 2020-10-30 09:05:26
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信