मैं सिर्फ अपने कोड भागने की कोशिश की, और पंक्तियों ठीक बनाया जा लगते हैं:
CREATE TABLE IF NOT EXISTS `main_dashboard` (`title` VARCHAR(255), `id` INTEGER NOT NULL auto_increment , `idClient` INTEGER, PRIMARY KEY (`id`)) ENGINE=InnoDB;
CREATE TABLE IF NOT EXISTS `main_client` (`id` INTEGER NOT NULL auto_increment, `clientId` INTEGER, PRIMARY KEY (`id`)) ENGINE=InnoDB;
clientId
main_client
में जोड़ा जाता है, और idClient
आप थोड़ा उलझन में है main_dashboard
ऐसा लगता है में जोड़ा जाता है क्या एक विधि है। प्रत्येक बार जब आप कॉल करते हैं तो एक एसोसिएशन बनाया जाता है, इसलिए आपका कोड प्रभावी रूप से दो तालिकाओं को दो बार जोड़ता है। विधि आप देख रहे हैं belongsTo
है आप प्रत्येक ग्राहक एक डैशबोर्ड करना चाहते हैं, कोड निम्न होगा:
MainClient.hasOne(MainDashboard, { foreignKey: 'clientId' })
MainDashboard.belongsTo(MainClient, { foreignKey: 'clientId' })
यह main_dashboard मेज पर एक clientid क्षेत्र है, जो से संबंधित है बनाता है main_client तालिका
कम belongsTo
में की आईडी क्षेत्र, टेबल है कि आप पर विधि बुला रहे हैं के संबंध कहते हैं hasOne
तालिका कि तर्क के रूप में दिया जाता है पर यह कहते हैं।
स्रोत
2013-01-05 20:27:25
ठीक है, समझ गया। असल में, यह केवल एक बेवकूफ उदाहरण है। हम क्या चाहते हैं डेटाबेस-स्तर की विदेशी कुंजी बाधाओं, जैसे @ डंकोहन ने कहा। – swampcypress