मैं नोड.जेएस के लिए अलग ओआरएम का परीक्षण कर रहा हूं और इस त्रुटि पर फंस गया हूं:
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);
});