2015-03-10 10 views
7

पर शामिल हों मेरे पास दो टेबल हैं जिन्हें मुझे संबद्ध करने की आवश्यकता है। टेबलए में एक टेबलबी है। मैं TableA मॉडल में ऐसा कर सकती हूं:सीक्वेलिज गैर प्राथमिक कुंजी

TableA.hasOne(models.TableB, { as: 'TableB', foreignKey: 'someID' }); 

एसक्यूएल को देखते हुए, इस TableA.ID और TableB.someID में शामिल होने की कोशिश करता है। मैं वास्तव में क्या चाहता हूं, TableA.someNonPrimaryKey और TableB.someID में शामिल होना है।

मैं कुछ नॉनप्रिमरीकी के साथ जुड़ने के लिए अगली कड़ी कैसे कह सकता हूं?

+1

इस पल –

उत्तर

2

इस समय अनुक्रमित करना संभव नहीं है, हालांकि आप इस तरह से प्रयास कर सकते हैं।

हैसोन और बेलोंग्स के बीच अंतर, हैसने लक्ष्य मॉडल में एसोसिएशन कुंजी डालता है जबकि बेलॉन्ग स्रोत मॉडल में एसोसिएशन कुंजी डालता है। संघ बल्कि hasOne BelongsTo

TableB.belongsTo(models.TableA, { as: 'TableA', foreignKey: 'someID', targetKey: 'notTableAID' }); 
+0

metioned 'targetKey' जो मैं डॉक्स में नहीं दिखाई दी पर sequelize में संभव नहीं है के बराबर होती है – renatoargh

संबंधित मुद्दे