2016-11-08 50 views
0

我新手帶帆/水線ORM
我下面http://sailsjs.org/documentation/concepts/models-and-orm/associations/through-associations
帆/水線ORM /有很多通過:將數據插入連接表

一個問題。
如何將數據插入連接表?
例如:使用者M - 米寵物

用戶模型

module.exports = { 
    attributes: { 
    name: { 
    type: 'string' 
    }, 
    pets:{ 
    collection: 'pet', 
    via: 'owner', 
    through: 'petuser' 
    } 
} 

寵物模型

module.exports = { 
    attributes: { 
    name: { 
    type: 'string' 
    }, 
    color: { 
    type: 'string' 
    }, 
    owners:{ 
    collection: 'user', 
    via: 'pet', 
    through: 'petuser' 
    } 
} 

PetUser模型(連接表)

module.exports = { 
    attributes: { 
    owner:{ 
     model:'user' 
    }, 
    pet: { 
     model: 'pet' 
    } 
    } 
} 

寵物數據是可用的(一些紀錄ID1,ID2,ID3 ...)
我想與一些寵物添加新的用戶
PetUser(ID,id_of_user,id_of_pet)
1,U1,P1
2,U1,P2

{ 
    "name" : "John", 
    "pets" : [2,3] 
} 

UserController中

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 
     }); 

    }) 
    } 
}; 

謝謝!

回答

1

我認爲這尚未在sails中實現。

提到這個問題:through associations in sails.js SO。

這裏是waterline docs說:

許多一對多通過協會行爲相同的方式儘可能多的-to-many關聯與連接表的例外是自動爲您創建。這允許您將附加屬性附加到連接表內部的關係上。

預購