Mysql 使用关联对无效值[对象承诺]进行续集
我目前的型号:Mysql 使用关联对无效值[对象承诺]进行续集,mysql,node.js,database,sequelize.js,Mysql,Node.js,Database,Sequelize.js,我目前的型号: let Book = sequelize.define('book', { title: Sequelize.STRING, author: Sequelize.STRING, ... }); let Recommendation = sequelize.define('recommendations', { reasoning: Sequelize.STRING, rating: Sequelize.FLOAT, }); Book.belongsToMa
let Book = sequelize.define('book', {
title: Sequelize.STRING,
author: Sequelize.STRING,
...
});
let Recommendation = sequelize.define('recommendations', {
reasoning: Sequelize.STRING,
rating: Sequelize.FLOAT,
});
Book.belongsToMany(Recommendation, {through: 'bookrecommendation'});
Recommendation.belongsToMany(Book, {through: 'bookrecommendation'});
当执行addRecommension方法下面的代码来为Book添加建议时,我得到一个错误:无效值[对象承诺]
Book.findOrCreate({
where: { id: '1' }, defaults: {
author: 'test',
title: 'test'
}
})
.spread(function (b, createdBook) {
const rec = Recommendation.create(
{
reasoning: 'test',
rating: 1
});
b.addRecommendation(rec).then((result) => {
}, (error) => {
console.log(error);
})
}
这里的问题是,
rec
是一种承诺。
这应该可以解决问题
Book.findOrCreate({ where: { id: '1' }, defaults: {
author: 'test',
title: 'test'
}}).spread(function (b, createdBook) {
Recommendation.create({
reasoning: 'test',
rating: 1
}).then((rec) => {
b.addRecommendation(rec).then((result) => {}, (error) => {
console.log(error);
})
})
这里的问题是,
rec
是一种承诺。
这应该可以解决问题
Book.findOrCreate({ where: { id: '1' }, defaults: {
author: 'test',
title: 'test'
}}).spread(function (b, createdBook) {
Recommendation.create({
reasoning: 'test',
rating: 1
}).then((rec) => {
b.addRecommendation(rec).then((result) => {}, (error) => {
console.log(error);
})
})
这当然管用,我没想到这个。谢谢。当然行了,我没想到那个。谢谢