首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模型文件后缀中的外场参考

模型文件后缀中的外场参考
EN

Stack Overflow用户
提问于 2020-05-23 18:47:25
回答 1查看 90关注 0票数 0

我正在编写一个使用nodejs、express和sequelize的铅捕获应用程序。我有一个Lead对象,但是我想在模式中引入一个新的表LeadSource,而铅有一个FK到LeadSource。

/path/to/model/Lead.js

代码语言:javascript
复制
'use strict';

module.exports = (sequelize, DataTypes) => {
  var Lead = sequelize.define('Lead', {
    id: {
      type: DataTypes.UUID,
      defaultValue: DataTypes.UUIDV4,

      allowNull: false,
      primaryKey: true
    },
    first_name: {
        type: DataTypes.STRING,
    },    
    last_name: {
        type: DataTypes.STRING,
    },       
    email: {
        type: DataTypes.STRING,
        allowNull: false,
    },
  });

  return Lead;
};

这是LeadSource的模式

代码语言:javascript
复制
LeadSource = sequelize.define('LeadSource', {
  id: { type: Sequelize.INTEGER },
  name: { type: Sequelize.STRING }
});

我的问题是:

  1. 如何在LeadSource文件中将Lead.js引用为FK?
  2. 我喜欢将每个模型保存在一个单独的文件中--我可以有这种分离,并且仍然有一个FK在引线中的LeadSource引用吗?
EN

回答 1

Stack Overflow用户

发布于 2020-05-24 00:59:43

是的,您可以定义模型之间的关系,同时将每个模型保存在一个单独的文件中。

下面是如何在联想文件中定义铅和LeadSource之间的Lead.js

代码语言:javascript
复制
module.exports = (sequelize, DataTypes) => {
    var Lead = sequelize.define('Lead', {
        // ...
    })

    Lead.associate = function (models) {
        // associations can be defined here

        //One-To-One relationship with foreign key added to Lead
        Lead.belongsTo(models.LeadSource, {
            foreignKey: { name: 'leadSourceId' }
        })

        //One-To-Many relationship with foreign key added to Lead
        models.LeadSource.hasMany(Lead, {
            foreignKey: { name: 'leadSourceId' }
        })
    }

    return Lead;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61977028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档