我是帆/水线ORM新手
我在看http://sailsjs.org/documentation/concepts/models-and-orm/associations/through-associations
一个问题。
如何将数据插入连接表?
例如:User m - m Pet
用户模型
module.exports = {
attributes: {
name: {
type: 'string'
},
pets:{
collection: 'pet',
via: 'owner',
through: 'petuser'
}
}
Pet模型
module.exports = {
attributes: {
name: {
type: 'string'
},
color: {
type: 'string'
},
owners:{
collection: 'user',
via: 'pet',
through: 'petuser'
}
}
PetUser model (join table) module.exports = {
attributes: {
owner:{
model:'user'
},
pet: {
model: 'pet'
}
}
}
Pet数据可用(一些记录有ID1, ID2, ID3…)
我想添加一个带有宠物的新用户
PetUser (id, id_of_user, id_of_pet)
1, U1, P1
2、U1, P2
{
"name" : "John",
"pets" : [2,3]
}
用户控件
module.exports = {
addUserWithPets: function(req, res) {
User.create(req.body).exec(function(err, user) {
if(err){
throw err;
}else {
/*pets.forEach(function(pet, index){
user.pets.add(pet);
})
user.save(function(err) {});*/
user.pets.add(data);
user.save(function(err) {});
}
return res.ok({
data: user
});
})
}
};
谢谢!
我认为这还没有在帆中实现。
参考这个问题:通过SO上sails.js中的关联。
这是水线文档说的:
多对多通过关联的行为与多对多关联的行为相同,只是会自动为您创建连接表。这允许您将其他属性附加到连接表内部的关系上。
即将