use*_*645 0 mysql database node.js 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.belongsToMany(Recommendation, {through: 'bookrecommendation'});
Recommendation.belongsToMany(Book, {through: 'bookrecommendation'});
Run Code Online (Sandbox Code Playgroud)
当执行方法addRecommendation下面的代码添加建议书时我得到一个错误错误:无效的值[对象承诺]
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);
})
}
Run Code Online (Sandbox Code Playgroud)
这里的问题是这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);
})
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1451 次 |
| 最近记录: |