मेरे समस्या के साथ एक ही मेज पर hasMany को hasMany काफी सरल है:SequelizeJS - एक मेज में शामिल होने
मैं उपयोगकर्ताओं नामक एक टेबल मिल गया। उन उपयोगकर्ताओं के बहुत सारे संपर्क हो सकते हैं। वे संपर्क अन्य उपयोगकर्ता हैं।
तो मैं मालिक (userID) की आईडी के साथ userHasContacts नाम के एक मेज, और संपर्क (contactID) की आईडी है।
उन दोनों विदेशी कुंजी उपयोगकर्ता तालिका का संदर्भ दे रहे हैं।
यहाँ मेरी सुंदर चित्र है:
----------------
______________|____ ____|____
| userHasContacts | | users |
------------------- ---------
| #userID | | id |
| #contactID | ---------
------------------- |
| |
----------------
sequelize में, मेरा तर्क में, मैं लिखना होगा:
Users.hasMany(Users, {foreignKey: 'userID', joinTableName: 'userHasContacts'});
Users.hasMany(Users, {as: 'Contacts', foreignKey: 'contactID', joinTableName: 'userHasContacts'});
लेकिन यह है कि यह इस तरह से काम नहीं करता है लगता है, और यह हो गया है 2 घंटे मैं इस संबंध को लिखने के कई तरीकों की कोशिश कर रहा हूं ...
मेरे लिए काम करने वाली एकमात्र पंक्ति
Users.hasMany(UserHasContacts, {foreignKey: 'contactID', joinTableName: 'userHasContacts'});
UserHasContacts.findAndCountAll({ where: {userID: id} }).success(function(result) {
res.json(result);
});
लेकिन तब मैं उपयोगकर्ताओं तालिका मेरी खोज क्वेरी में (Eager loading के माध्यम से) शामिल नहीं हो सकते और यह बस userHasContacts अंदर डेटा देता है।
अगर किसी को संकेत मिलता है, तो आपका स्वागत है!
अग्रिम धन्यवाद!