我使用与快递sequelize,我定义我的模型是这样sequelize belongsToMany给类型错误:未定义是不是一个函数
"use strict";
var Sequelize = require('sequelize');
module.exports = function(sequelize, DataTypes) {
var Order = sequelize.define("Order",
{
status: {
type: Sequelize.INTEGER
},
notes: {
type: Sequelize.STRING
}
},
{
classMethods: {
associate: function(models) {
Order.belongsTo(models.User);
Order.belongsTo(models.Address);
Order.belongsToMany(models.Items);
}
}
}
);
return Order;
}
我正在试图运行我的应用程序时,以下错误消息
Order.belongsToMany(models.Items);
^
TypeError: undefined is not a function
at sequelize.define.classMethods.associate (models/order.js:18:7)
at models/index.js:24:19
at Array.forEach (native)
at Object. (models/index.js:22:17)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
at require (module.js:384:17)
我index.js文件是一样给出一个明确的是这里例如:https://github.com/sequelize/express-example/blob/master/models/index.js
我的产品型号如下:
"use strict";
var Sequelize = require('sequelize');
module.exports = function(sequelize, DataTypes) {
var Item = sequelize.define("Item", {
title: {
type: Sequelize.STRING
},
mrp: {
type: Sequelize.DECIMAL,
allowNull: false
},
sp: {
type: Sequelize.DECIMAL,
allowNull: false
},
desc: {
type: Sequelize.STRING
},
skuId: {
type: Sequelize.STRING,
allowNull: false
},
type: {
type: Sequelize.STRING
},
merchantId: {
type: Sequelize.STRING,
allowNull: false
},
categoryId: {
type: Sequelize.STRING,
allowNull: false
}
}
);
return Item;
}
我也试过在app.js中给belongsToMany但它不起作用。所有其他协会都正常工作。 请帮忙。
你使用的是什么版本的sequelize?你怎么打电话给'associate'? –
版本为[email protected],关联从index.js调用,与https://github.com/sequelize/express-example/blob/master/models/index.js – akshay202
相同嗯,订单。 js对我来说看起来很好。你可以发布你的代码“Items”吗? –