【发布时间】:2018-04-03 19:49:31
【问题描述】:
我正在使用 Sequelize(ORM 的新手),目前有三个表:card 和 tags,它们具有与第三个表 card_tags 建立的多对多关系。我的问题有两个:
- 如何跨关联播种数据?
- 如何创建跨关联数据库建立新数据的新数据(即 API 函数)?
请查看以下我的模型,如果我遗漏了任何内容,请告诉我。谢谢!
卡片模型:
'use strict';
module.exports = (sequelize, DataTypes) => {
const Card = sequelize.define('card', {
title: {
type: DataTypes.STRING,
allowNull: false
},
link: {
type: DataTypes.STRING,
allowNull: false
}
});
Card.associate = (models) => {
Card.belongsToMany(models.tag, { through: 'card_tag', as: 'tag' });
};
return Card;
};
标签模型:
'use strict';
module.exports = (sequelize, DataTypes) => {
const Tag = sequelize.define('tag', {
title: {
type: DataTypes.STRING,
allowNull: false
}
});
Tag.associate = (models) => {
Tag.belongsToMany(models.card, { through: 'card_tag', as: 'card'});
};
return Tag;
};
card_tags 模型:
'use strict';
module.exports = function(sequelize, DataTypes) {
const CardTag = sequelize.define('card_tag', {
cardId: DataTypes.INTEGER,
tagId: DataTypes.INTEGER
});
return CardTag;
};
【问题讨论】:
标签: javascript database orm sequelize.js