/ / Sequelize में हैऑन के साथ एसोसिएशन सहित पंक्ति बनाएं - mysql, node.js, orm, sequelize.js

Sequelize में myOne के साथ सहयोग सहित पंक्ति बनाएं - mysql, node.js, orm, sequelize.js

मैं नोड.जेएस के लिए अलग ओआरएम का परीक्षण कर रहा हूं और इस त्रुटि पर फंस गया हूं:

Possibly unhandled TypeError: undefined is not a function
@ person.setUser(user);

कोशिश की person.setUsers, user.setPerson तथा user.setPeople। बिना भाग्य के समारोह को खोजने के लिए console.log भी कोशिश की।

मैं क्या गलत कर रहा हूं?

var config = require("./config.json");
var Sequelize = require("sequelize");
var sequelize = new Sequelize(config.connection, {
define: {
freezeTableName: true,
underscoredAll: true,
underscored: true
}
});

var Person = sequelize.define("person", {
first_name: Sequelize.STRING,
last_name: Sequelize.STRING
});

var User = sequelize.define("user", {});

Person.hasOne(User);

sequelize.sync().then(run);

function run() {
var person = Person.create({ first_name: "Markus", last_name: "Hedlund" });
var user = User.create();

person.setUser(user);
}

उत्तर:

जवाब के लिए 3 № 1

मुझे लगता है कि आप क्या करना चाहते हैं

Person.create({ first_name: "Markus", last_name: "Hedlund" }).then(function(person){
User.create().then(function(user){
person.setUser(user);
});
});

जवाब के लिए 3 № 2

हालांकि उत्तर देने का अधिकार सही है, मैं इसे एक अच्छी वादा श्रृंखला के साथ लिखूंगा:

Person.create({ first_name: "Markus", last_name: "Hedlund" })
.bind({})
.then(function(person){
this.person = person;
return User.create()
})
.then(function(user){
return this.person.setUser(user);
});