如何在ES6课程中扩展Sequelize 4模型?
我想创建一个扩展Sequelize Model的类,如下所示
const Sequelize = require('sequelize');
class MyModel extends Sequelize.Model {
constructor(){
super()
}
}
但是我需要知道如何为这个MyModel定义/ init表名和属性。我希望Sequelize.Model的每个方法都进入MyModel
回答如下:你可以这样做
定义模型=>
const Sequelize = require("sequelize");
class MyModel extends Sequelize.Model {
static init(sequelize, DataTypes) {
return super.init(
{
myField: DataTypes.STRING
},
{ sequelize }
);
}
}
并定义关联
const Sequelize = require("sequelize");
class MyModel extends Sequelize.Model {
static associate(models) {
this.myAssociation = this.belongsTo(models.OtherModel);
// or
this.myAssociation = models.MyModel.belongsTo(models.OtherModel);
}
}
您可以像这样使用它来获取更多详细信息,请参阅this博客。我从这里用过它