associations - Sequelize 关联

标签 associations sequelize.js

我是 Sequelize 的新手,并且一直在探索关联。我正在使用 mysql 5.6 并 Sequelize ^4.42.0。我正在尝试创建两个简单的表:PRJS 和 TASKS 并将一些数据插入这些表中。

通过以下代码片段,我尝试一次性将数据插入到“PRJS”和“Tasks”表中。

但它只是将数据插入到 PRJS 表中,尽管这两个表都已创建。

const http = require("http");
const express = require("express");
const Sequelize = require("sequelize");

const router = require("./routes/api-routes");
const sequelize = require("./config/db");
     const Prj = sequelize.define('prj', {
        id :{
            type:Sequelize.INTEGER,
            autoIncrement:true,
            primaryKey:true
        },
        title: Sequelize.STRING,
        description: Sequelize.TEXT
      });

      const Task = sequelize.define('task', {
        details: Sequelize.STRING,

      });

      Prj.hasMany(Task);
      Task.belongsTo(Prj);

      Prj.create(
          {
              title:"a",
              description:"asdfasfasd",
              tasks:[{
                details:"asfasdfasd"
              }],
              include:[Task]
          }
      );

以下是我在上面的代码中导入的 db.js 文件的内容:
const Sequelize = require("sequelize");


const sequelize = new Sequelize("test_db","test","123456",{
    dialect:"mysql",
    host:"localhost",
    port:3306
});

module.exports = sequelize;

任何帮助深表感谢。

谢谢,
拉希里

最佳答案

  • 创建关联时使用“as”。
  • Prj.hasMany(Task, { as: 'Tasks' });
    Task.belongsTo(Prj);
    
  • Include 应如下所示:
  • Prj.create(
              {
                  title:"a",
                  description:"asdfasfasd",
                  tasks:[{
                    details:"asfasdfasd"
                  }],
                  { 
                    include: [{
                      model: Task,
                      as: 'Tasks'
                    }]
                  }
              }
          );
    

    尝试并写下结果会发生什么。

    关于associations - Sequelize 关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54054730/

    相关文章:

    ruby-on-rails - ActiveAdmin 如何使用关联对列进行排序

    ruby - 想要按 Datamapper 中的关联记录数排序

    associations - UML 角色名称是否应该反射(reflect)在类属性中?

    node.js - 在 Sequelize 中有一个关联

    javascript - .map 函数内的异步验证

    postgresql - User 和 Contact 模型之间的关联是否合理且正确?

    javascript - Sequelize 和 GraphQL 解析器不可为空的字段

    javascript - 如何在 Sequelize 的 setterMethod 之前运行模型验证?

    node.js - 序列化子查询

    node.js - Sequelize - 保存父级时设置子级的外键