我在保存'之后写了一个' 钩子并有一些问题来读取数据。
我想要做的是访问另一个模型中的数据,但在执行此操作时,它是未定义。
以下是一些代码:
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
。我不明白为什么。
任何想法/评论?
答案 0 :(得分:0)
faulttypeId
是故障模型中的参考外键吗?
由于您没有提供足够的信息供我判断,我猜测问题是在某些方法中没有ctx.instance
- 数据隐藏在方法的动态分配属性中:{{3 }}
可能是您使用的方法未在上下文对象中传递实例。您使用的是updateAll
方法吗?
如果您可以提供更多信息(哪种方法,ctx结构(仅console.dir(ctx);
等),我可以猜到更多:)