风帆/水线ORM / Has Many Through:将数据插入连接表



我是帆/水线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中的关联。

这是水线文档说的:

多对多通过关联的行为与多对多关联的行为相同,只是会自动为您创建连接表。这允许您将其他属性附加到连接表内部的关系上。

即将

相关内容

  • 没有找到相关文章

最新更新