Loopback 相关的模型属性问题
Posted
技术标签:
【中文标题】Loopback 相关的模型属性问题【英文标题】:Loopback related model property problems 【发布时间】:2015-11-02 11:06:16 【问题描述】:我有一个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
我得到的是hasOne
methods,而不是我可以看到的userDetails 对象。这看起来很奇怪,但我找不到模型或关系定义有任何问题。
谁能帮忙?
【问题讨论】:
@stev-k :尝试了所有方法,但仍然不适合我。 :( 有什么建议吗? 【参考方案1】:我相信为了访问一个相关的模型,你需要调用 user.userDetails()。
或者,你可以调用 user.toJSON(),这会给你一个普通的 JS 对象
【讨论】:
尝试了所有方法,但仍然不适合我。 :( 有什么建议吗?【参考方案2】:我一直在努力理解为什么我没有得到相关的对象。尝试使用.toJSON()
修复它。
【讨论】:
以上是关于Loopback 相关的模型属性问题的主要内容,如果未能解决你的问题,请参考以下文章