有两个文件,一个叫做
customer.model.js
import DbContext from '../databaseContext'
import Sequelize from 'sequelize'
import LeaseModel from './lease.model';
const CustomerModel = DbContext.define('customer', {
first_name: {
type: Sequelize.STRING(50)
},
middle_name: {
type: Sequelize.STRING
},
last_name: {
type: Sequelize.STRING(50)
},
email: {
type: Sequelize.STRING(62)
}
})
CustomerModel.hasMany(LeaseModel)
export default CustomerModellease.model.js
import Sequelize from 'sequelize'
const LeaseModel = DbContext.define('lease', {
lease_name: {
type: Sequelize.STRING(50)
},
customer_id: {
type: Sequelize.IndexHints
}
})
export default LeaseModel如果我在lease.model.js中添加下面的Lease.belongsTo(CustomerModel)来表示外键关系,我将得到循环引用,那么解决这个问题的好方法是什么?
发布于 2020-06-23 11:53:11
Sequelize过去有一个名为import的方法。您可以在那里导入模型并将每个模型连接到它的构造函数中。
发布于 2020-06-23 02:45:24
创建一个index.js文件。导入此文件中的所有模型并将它们关联起来。在此之后,再出口这些型号。
例如。
models/customer.model.js
import DbContext from '../databaseContext'
import Sequelize from 'sequelize'
const CustomerModel = DbContext.define('customer', {
first_name: {
type: Sequelize.STRING(50)
},
middle_name: {
type: Sequelize.STRING
},
last_name: {
type: Sequelize.STRING(50)
},
email: {
type: Sequelize.STRING(62)
}
});
export default CustomerModel;models/lease.model.js
import Sequelize from 'sequelize'
import DbContext from '../databaseContext'
const LeaseModel = DbContext.define('lease', {
lease_name: {
type: Sequelize.STRING(50)
},
customer_id: {
type: Sequelize.IndexHints
}
})
export default LeaseModelmodels/index.js
import CustomerModel from './customer.model'
import LeaseModel from './lease.model';
// import other models...
CustomerModel.hasMany(LeaseModel);
LeaseModel.belongsTo(CustomerModel);
// associate other models...
export {CustomerModel, LeaseModel}https://stackoverflow.com/questions/62525598
复制相似问题