我有两个模型:User
和Phone
User
模型有一个名为Phone_id
的字段,其中填充了Phone.id
字段。
我正在尝试遍历所有电话并显示电话名称和相关的用户分机号码。
但是,由于回调(我认为),当我到达getUser
方法的成功方法时,手机对象已经消失了。
代码如下:
var User = sequelize.import(__dirname + '/../models/User.js');
var Phone = sequelize.import(__dirname + '/../models/Phone.js');
Phone.hasOne(User,{ foreignKey: 'Phone_id'});
Phone.findAll().success(function(phones){
for (var i = 0; i < phones.length; i++) {
phones[i].getUser().success(function(user){
console.log(xxxx.Name, user.Extension);
});
});
如何在console.log语句中显示电话名称和用户扩展名,我需要用什么来代替xxxx?
谢谢!
答案 0 :(得分:0)
你想要做的是:
var User = sequelize.import(__dirname + '/../models/User.js');
var Phone = sequelize.import(__dirname + '/../models/Phone.js');
Phone.hasOne(User,{ foreignKey: 'Phone_id'});
Phone.findAll().success(function(phones){
phones.forEach(function(phone) {
phone.getUser().success(function(user){
console.log(phone.Name, user.Extension);
});
})
});
答案 1 :(得分:0)
未经测试,但
var User = sequelize.import(__dirname + '/../models/User.js');
var Phone = sequelize.import(__dirname + '/../models/Phone.js');
Phone.hasOne(User,{ foreignKey: 'Phone_id'});
Phone.findAll().success(function(phones){
phones.forEach(function(phone) {
phone.getUser().success(function(phone) {
return function(user){
console.log(phone.Name, user.Extension);
}
}(phone))
})
});