我有一个 user
模型(从内置的 User
扩展)和一个 UserDetail
模型,它们是相关的:
用户
关系:
"relations": {
"userDetails": {
"type": "hasOne",
"model": "UserDetail",
"foreignKey": "userDetailUserId"
},
如果我在 Node 中运行下面的代码,我可以在返回的对象上看到 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 .这看起来很奇怪,但我找不到模型或关系定义有任何问题。
有人能帮忙吗?
最佳答案
我认为,为了访问相关模型,您需要调用 user.userDetails()。
或者,你可以调用 user.toJSON(),这会给你一个普通的 JS 对象
关于javascript - Loopback相关模型属性问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33476163/