【问题标题】:loopback after save - data undefined?保存后环回 - 数据未定义?
【发布时间】:2017-03-11 05:52:09
【问题描述】:

我正在写一个“保存后”钩子,但读取数据时遇到了问题。

我想做的是访问另一个模型中的数据,但是这样做时它是未定义的

这里有一些代码:

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 中我使用faulttype

slogan 我得到的回复是undefined。我不明白为什么。

有什么想法/cmets?

【问题讨论】:

标签: strongloop loopback


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-19
    • 1970-01-01
    • 1970-01-01
    • 2019-04-28
    • 1970-01-01
    相关资源
    最近更新 更多