2015-04-01 104 views
1

我在向連接表中插入數據時出錯,我不知道我是否正確地做了這件事。 這是我的兩個模型,有多對多的關聯。Sails.js如何向連接表中插入數據(多對多)

Commit.js:

module.exports = { 
    schema: true, 
    attributes: { 
    idCommit : { 
     type: 'integer', 
     autoIncrement: true, 
     primaryKey: true, 
     unique: true 
    }, 
    revision : { 
    type: 'integer', 
    required: true 
    }, 
    issues: { 
     collection: 'issue', 
     via: 'commits', 
     dominant: true 
    } 
    } 
}; 

Issue.js:

module.exports = { 
    schema: true, 
    attributes: { 
    idIssue : { 
     type: 'integer', 
     autoIncrement: true, 
     primaryKey: true, 
     unique: true 
    }, 
    description: { 
    type: 'string', 
    required: true 
    }, 
    commits: { 
     collection: 'commit', 
     via: 'issues' 
    } 
    } 
}; 

當我嘗試插入問題納入提交這樣:

Commit.create(commit).exec(function(err,created){ 
    if (err) { 
    console.log(err); 
    } 
    else { 
    created.issues.add(issues); 
    created.save(function(err) {}); 
    } 
}); 

我犯被創建,我的問題已創建,但沒有鏈接,因此它們之間的連接表保持空白。我在哪裏弄錯了?

+0

嗎? – 2015-04-01 21:57:44

+0

風帆房間也是一個很好的尋找幫助的地方:https://gitter.im/balderdashy/sails – 2015-04-01 21:58:04

+0

我正在使用mySql適配器。 – user2663041 2015-04-02 17:49:26

回答

1

從你的代碼,它看起來像你想添加的問題數組,嘗試單獨做的關聯,就像他們在Many-to-Many docs

Commit.create(commit).exec(function(err,created){ 
    if (err) { 
    console.log(err); 
    } 
    else { 

    issues.forEach(function(issue, index){ 
     created.issues.add(issue); 
    }) 

    created.save(function(err) {}); 
    } 
}); 
您使用的適配器
+1

只需使用'created.add(issues);'即可簡化。是的,它處理數組。 – givanse 2015-05-31 04:50:39