0

我有两个模型:UserPhone

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 语句 iow 中显示电话名称和用户分机,我需要用什么代替 xxxx ?

谢谢 !

4

2 回答 2

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);
    });
  })
});
于 2012-07-24T07:40:24.363 回答
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))
  })
});
于 2012-07-24T12:44:09.517 回答