0
此项目使用sqlite和sequelize。我习惯于普通的sql,但是这个方法在Node.js中创建API看起来很有用。将外键关联重命名为
我有两种模式:用户和组。一个小组有许多用户,但其中一个是老师。我有一个单独的UserInGroup表来处理多对多的问题,但对于教师一对多关系,我已将关系“教师”重命名(因此属性为teacherId)。
db.group.belongsTo(db.user, {as: 'teacher'});
db.user.hasMany(db.group, {as: 'teacher'});
当我登录并尝试创建组对象时,它会尝试创建一个userId字段,该字段显然不存在。我如何让它把userId放在teacherId字段中?
app.post('/groups', middleware.requireAuthentication, function(request, response){
var body = _.pick(request.body, 'name', 'description');
body.description = body.description.trim();
body.name = body.name.trim();
db.group.create(body).then(function(group){
request.user.addGroup(group).then(function(){
return group.reload();
}).then(function(group){
response.json(group.toJSON())
})
}, function (e) {
response.status(400).json(e);
})
});
我不想简单地重命名该领域,因为我也将管理一个“消息”的对象,需要采取两种用户id为发件人和收件人。我已经定义了db.js中的所有字段,但我不知道如何填充它们。