保存后环回 - 数据未定义?

时间:2017-01-31 14:16:49

标签: strongloop loopback

我在保存'之后写了一个' 钩子并有一些问题来读取数据。

我想要做的是访问另一个模型中的数据,但在执行此操作时,它是未定义

以下是一些代码:

module.exports = function(Fault) {
  Fault.observe('after save', function(ctx, next) {
    ctx.Model.app.models.faulttype.find({where:{id:ctx.instance.faulttypeId}}, function(err, faulttype) {
      if (err)
        console.log(err);
      console.log(faulttype);
      console.log(faulttype.slogan);
  ....
}

我正在使用ctx.Model.app.models来抓住我拥有的其他模型之一(faulttype)。当我使用它时,问题就出现了。

在第一个console.log中,它正在编写faulttype的所有属性和值,但是当我尝试使用特定属性时,就像我使用console.log的{​​{1}}一样1}}。

口号我得到的反应是faulttype。我不明白为什么。

任何想法/评论?

1 个答案:

答案 0 :(得分:0)

faulttypeId是故障模型中的参考外键吗?

由于您没有提供足够的信息供我判断,我猜测问题是在某些方法中没有ctx.instance - 数据隐藏在方法的动态分配属性中:{{3 }}

可能是您使用的方法未在上下文对象中传递实例。您使用的是updateAll方法吗?

如果您可以提供更多信息(哪种方法,ctx结构(仅console.dir(ctx);等),我可以猜到更多:)