使用 Sequelize.js 时在哪里定义关联/关系?
Posted
技术标签:
【中文标题】使用 Sequelize.js 时在哪里定义关联/关系?【英文标题】:Where to define associations / relations when using Sequelize.js? 【发布时间】:2017-05-07 14:06:35 【问题描述】:官方文档只处理示例代码,它定义了两个独立的模型,后跟关联/关系代码as follows。
var User = this.sequelize.define('user', /* attributes */)
, Company = this.sequelize.define('company', /* attributes */);
User.belongsTo(Company); // Will add companyId to user
我的猜测是
-
需要所有模型并在单独的文件中定义关联,然后需要来自
app.js
的文件。
在每个模型文件中,需要所需的模型并在 classMethods.associate(models)
中定义关联。
我真的无法确定哪一个是“正确”的方式。我正在使用 Sequelize-CLI 生成迁移文件和模型文件。
【问题讨论】:
【参考方案1】:在classMethods.associate(function(models) )
中的console.log
ging models
参数之后,我发现它实际上具有所有模型类。
您可以访问像 models.ModelName
这样的模型并详细说明它们以在那里定义关联和关系。
【讨论】:
以上是关于使用 Sequelize.js 时在哪里定义关联/关系?的主要内容,如果未能解决你的问题,请参考以下文章
使用 Sequelize.js 和 PostgreSQL 在关联模型上查询 JSONB 字段