Javascript sequelize中的插入问题
用户表:Javascript sequelize中的插入问题,javascript,node.js,sequelize.js,Javascript,Node.js,Sequelize.js,用户表: var user = connection.define('user', { id: { type: sequelize.INTEGER, primaryKey: true, autoIncrement: true }, name: { type: sequelize.STRING }, age: { type: sequelize.INTEGER } }, { classMethods: { insertDa
var user = connection.define('user', {
id: {
type: sequelize.INTEGER,
primaryKey: true,
autoIncrement: true
},
name: {
type: sequelize.STRING
},
age: {
type: sequelize.INTEGER
}
}, {
classMethods: {
insertData: function(sql, data) {
this.create({
name: data.name,
age: data.age
}).then(function() {
console.log("successful insertion");
});
}
}
});
地址表:
var address = connection.define('address', {
id: {
type: sequelize.INTEGER,
primaryKey: true,
autoIncrement: true
},
content: sequelize.TEXT
}, {
classMethods: {
associate: function(model) {
var user = model.user;
user.hasMany(address);
},
insertData: function(data) {
this.create({
content: data.content,
userId: data.id
}).then(function() {
console.log("working ");
});
}
}
});
现在,我如何在表address的userId
字段中插入数据,该表是在用户和地址之间的关系之后创建的
按如下所述直接使用字段名插入不起作用
insertData: function(data) {
this.create({
content: data.content,
userId: data.id
}).then(function() {
console.log("working ");
});
}
您应该执行
返回此操作。在insertData
方法中创建…
。在address
模型上运行insertData(data)
时生成的SQL查询是什么?插入“address”(“id”、“content”、“createdAt”、“updatedAt”)值(默认值,'addr2','2017-02-17 14:25:22.246+00:00','2017-02-17 14:25:22.246+00:00')返回*;您的地址
表是否包含userId
列?您是使用sequelize.sync()
来同步数据库还是使用迁移?user
表包含列userId
,表user
和address
之间存在关系,即user.hasMany(address)
执行查询select*from addresses
后,我将address
表中的userId
列作为外键。我重新构建了这种情况,似乎一切正常。您确定传递到地址的数据对象。insertData
方法肯定是{content:'some content',id:'user id here'}
?