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

来源:2-14 介绍sequelize-创建关联

Administratornobug

2020-10-28

图片描述

插入数据的代码

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"
});
写回答

1回答

双越

2020-10-28

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

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

0
2
双越
回复
Administratornobug
你可以看下控制台打印的 log 中的 sql 语句,sequelize 在同步数据模型时,会打印执行的 sql 。
2020-10-30
共2条回复

Node.js+Koa2框架生态实战 - 从零模拟新浪微博

用 Koa2 做真正的实战项目,不再只是增删改查的小白工程师

964 学习 · 388 问题

查看课程