2017-03-19 72 views
2

我在具有多對多關係的連續集中設置了兩個模型。 Sequelize正確創建了連接表,但我無法插入它。我一直在閱讀文檔的這一部分:http://docs.sequelizejs.com/en/latest/docs/associations/#creating-with-associations,但根據他們的示例,我無法獲得任何工作。不幸的是,他們沒有多對多的例子。將連接插入到連接表中(多對多)

接下來我嘗試使用setModel函數,這是從深層次的sequelize代碼中產生一個錯誤,我無法弄清楚。該代碼如下。

我的兩個模型是Coin和Ledger。

Ledger.findById(22).then(ledger=>{ 
    var c1 = Coin.findById(1); 
    var c2 = Coin.findById(2); 
    ledger.setCoins([c1,c2]).then(sc=>{ 
     console.log(sc); 
    }); 
}); 

我的模型使用此代碼的相互關係:

Ledger.belongsToMany(Coin,{ through: 'ledger_coin'}); 
Coin.belongsToMany(Ledger, {through: 'ledger_coin'}); 

任何人都可以給我一些建議或點我在正確的軌道上要麼使用get功能或關聯選項寫到連接表?我可以寫一個自定義函數,但我知道必須有一種方法來實現它。

回答

5

那麼,我解決了上述問題setCoins。顯然,它需要的ID號,而不是對象,所以這個工程:

Ledger.findById(22).then(ledger=>{ 
    ledger.setCoins([1,2]).then(sc=>{ 
     console.log(sc); 
    }); 
}); 

我還是想了解包括和協會更好,雖然。