通过关联Sails.js/waterline创建新实例
在我的模型中,通过关联Sails.js/waterline创建新实例,sails.js,waterline,Sails.js,Waterline,在我的模型中,用户,程序通过程序人员之间存在多对多关联: User.js: module.exports = { attributes: { username: { type: 'string', required: true, unique: true }, programs: { collection: 'Program',
用户
,程序
通过程序人员
之间存在多对多关联:
User.js:
module.exports = {
attributes: {
username: {
type: 'string',
required: true,
unique: true
},
programs: {
collection: 'Program',
via: 'program',
through: 'programstaff'
}
}
}
Program.js:
module.exports = {
attributes: {
name: {
type: 'string'
},
personnel:{
collection : 'User',
via: 'user',
through: 'programstaff'
}
}
}
ProgramStaff.js:
module.exports = {
attributes: {
program: {
model: 'Program'
},
user: {
model: 'User'
},
permissions: {
type: 'integer'
}
},
tableName: 'program_staff'
};
(我需要通过表对人员进行编程,以持有某种权限和基于用户程序的权限,否则,我只会使用常规的多对多关联)
我的问题是-我可以创建一个新的用户”并使用rest或快捷方式与(现有的)
程序关联吗
我已经试着发送了
user.programs = [programId]; // doesn't do anything (or error)
//or
user.programs = [{program: progamId}]; // creates new program even though I send valid id of existing program
//or
user.programs = [{program: { id: progamId}}]; // error
但两者似乎都没有创造ProgramStaff记录
另外,我知道我可以用
用户来完成。创建和嵌套的编程人员。在路由中创建呼叫,或者创建并更新rest/快捷呼叫,但我想知道一种“自动”方式。你找到答案了吗?你找到答案了吗?