Tuesday 15 July 2014

sequelize.js - Three way relationship -


निम्न रिश्ते बनाना

bookmark.belongsToMany (tag, {through: 'BookmarkTag' }); User.belongsToMany (बुकमार्क, {through: 'UserBookmark'});

दो रिलेशनटेबल्स बनाएगा

BookmarkTag | bookmarkId | tagId

यूज़रबुकमार्क | bookmarkId | userId < / Code>

मैं चाहूंगा कि बुकमार्क आईडी को उपयोगकर्ता आईडी को भी शामिल किया जाए ताकि मैं जान सकूं कि किस उपयोगकर्ता ने एक टैग को जोड़ा है

BookmarkTag

| bookmarkId | tagId | UserId

यह अनुक्रमण के माध्यम से संभव है

पूर्णकोड

  var बुकमार्क = sequelize.define ('बुकमार्क', {name: Sequelize.STRING , यूआरएल: सिक्वेलिज़.STRING}); Var टैग = sequelize.define ('टैग', {मान: Sequelize.STRING}); Var उपयोगकर्ता = सिक्वलाइज़.डेफ़ाईन ('यूजर', {ईमेल: सेक्विलाइज़.STRING}); Bookmark.belongsToMany (टैग, {through: 'BookmarkTag'}); User.belongsToMany (बुकमार्क, {through: 'UserBookmark'}); sequelize.sync (); यदि आप बुकमार्कटैग तालिका को स्पष्ट रूप से परिभाषित करते हैं तो आप इसे अतिरिक्त विशेषताओं को जोड़ सकते हैं:  

<पूर्व> बुकमार्कटैग = सिक्वलाइज़.डेफाईन ('बुकमार्कटैग', {उपयोगकर्ता आईडी: सीक्वेलिएज.INTEGER}); Bookmark.belongsToMany (टैग, {through: BookmarkTag});

ध्यान दें कि हम बुकमार्कटैग मॉडल का एक संदर्भ पास कर रहे हैं, यहां एक स्ट्रिंग नहीं है।

टैग पर एक उपयोगकर्ता आईडी सेट करने के लिए, addTag

  बुकमार्क.addTag (टैग, {userId: 42});  

No comments:

Post a Comment