2016-07-17 11 views
1

Wie erstellt man einen Eintrag mit einer bestehenden Assoziation mit einem Objekt?Sequelize create with existing association

Zum Beispiel

User.create({ 
    socialMedia: [{ 
    socialId: 1, //should reference existing social media 
    userSocialMedia: { 
     name: 'foo' //should create new "through" entry 
    } 
    }], 
    bank: { 
    bankId: 1 //should reference existing bank 
    }); 

ich User.create({ bankId: 1 }) tun können, aber da die vom Client gesendeten Daten in dieser Form ist, ist es eine Möglichkeit, sequelize zu sagen, ob neue hinzuzufügen, oder für jede Verwendung bestehender Modelle enthalten?

Antwort

0

Eine Möglichkeit hierzu besteht darin, den Fremdschlüsseleigenschaftsnamen zu verwenden und die ID direkt und nicht über das verschachtelte Objekt anzugeben. In Ihrem Beispiel heißt die Join-Spalte wahrscheinlich bankId.

Sie können Ihre Benutzer erstellen, wie:

{ 
    socialMedia: [{ 
    socialId: 1, //should reference existing social media 
    userSocialMedia: { 
     name: 'foo' //should create new "through" entry 
    } 
    }], 
    bankId: 1 //should reference existing bank 
} 
+0

Dieses Problem auf Github mir diese Lösung führen: https://github.com/sequelize/sequelize/issues/5583 – bsyk