循环“已加载”操作挂钩未被调用

时间:2015-08-25 04:16:09

标签: loopbackjs

没有调用Loopback“loaded”操作挂钩。

  Post.observe('loaded', function logQuery(ctx, next) {
    console.log('In loaded');
    console.log('CTX %s', JSON.stringify(ctx));
    next();
  });

用于“访问”它工作正常,

  Post.observe('access', function logQuery(ctx, next) {
    console.log('Accessing %s matching %s', ctx.Model.modelName, ctx.query.where);
    console.log('Accessing  matching %s', JSON.stringify(ctx));
    next();
  });

如果我错过了“加载”钩子中的某些内容,请告诉我

1 个答案:

答案 0 :(得分:0)

这取决于您使用模型的方式。文档说明loaded仅适用于以下内置方法:

  • 找到()
  • findOne()
  • findById()
  • 存在()
  • 计数()
  • 创建()
  • UPSERT() (与updateOrCreate())相同
  • findOrCreate()*
  • prototype.save()
  • prototype.updateAttributes()

来源:https://docs.strongloop.com/display/public/LB/Operation+hooks#Operationhooks-loaded

我不是一个过度依赖环回文档的人,因为事实上他们通常会遗漏关键信息......但这可能是一个原因。

以下是关于access钩子的说法:

  

只要为模型查询数据库,就会触发访问挂钩,即调用PersistedModel的任何创建,检索,更新和删除方法时。

所以我认为您需要检查您在这些模型上测试代码所使用的方法。