我在尝试保存“多对多”关系中的数据时遇到了麻烦。
下面是我的模型:
var CoursePeople = bookshelf.Model.extend({
tableName: 'course_people'
});
var Course = bookshelf.Model.extend({
tableName: 'course',
users: function(){
return this.belongsToMany(User);
}
});
var City = bookshelf.Model.extend({
tableName: 'city',
users: function(){
return this.hasMany(User);
}
});
var User = bookshelf.Model.extend({
tableName: 'people',
city: function(){
return this.belongsTo(City);
},
courses: function(){
return this.belongsToMany(Course);
}
});
问题是如何将我在数组中获取的ID插入到我的数据库中的连接表(名为“course_people”)中?
这是我目前的代码:
app.post('/users/', function(req, res) {
console.log(req.body);
var courses_ids = req.body.courses_ids; //array of ids
delete req.body.courses_ids;
new User(req.body).save().then(function(user){
console.log(user.id);
//How to store the ids in the junction table?
}).catch(function(error){
console.log(error);
});
});
再次感谢您的时间和建议!
insert into
users_courses(
course_id,
user_id) values ('[1,2,3,4,5]', '1')
。 - Joshua JLIVE Williams