2015-11-02 107 views
1

我有一個user模型(擴大從內置User)和UserDetail模型,相關:環回相關模型屬性問題

user關係:

"relations": { 
     "userDetails": { 
      "type": "hasOne", 
      "model": "UserDetail", 
      "foreignKey": "userDetailUserId" 
     }, 

如果我在節點上運行下面的代碼,我可以在返回的對象上看到userDetails屬性,但無法直接訪問它。

var User = app.models.user; 
User.findOne({ 
     include: 'userDetails', 
     where: {id: userId} 
},function(err,user){ 
    console.log('log'); 
    console.log(user); 
    console.log(user.userDetails); 
    console.log(user.userDetailFirstName); 
    console.log(user.userDetails.userDetailFirstName); 
}) 

的日誌如下:

log 

{ my user details .... 
id: 100, 
userDetails: 
    { userDetailId: 13, 
    userDetailUserId: 100, 
    userDetailFirstName: 'Stephen', 
    userDetailLastName: 'Knox',} } 
{ [Function] 
    getAsync: [Function], 
    create: [Function], 
    build: [Function], 
    update: [Function], 
    destroy: [Function], 
    _targetClass: 'UserDetail' } 

undefined 
undefined 

而不是給我的UserDetails對象,這是我所看到的,我得到的hasOne methods。這看起來很奇怪,但我無法找到模型或關係定義的任何錯誤。

任何人都可以幫忙嗎?

回答

1

我相信,要訪問相關模型,您需要調用user.userDetails()。

或者,你可以調用user.toJSON(),這會給你一個簡單的JS對象

0

我拉我的頭髮試圖瞭解爲什麼我沒有得到一個相關的對象。試用.toJSON()修復了它。