【问题标题】:Loopback: getting model changes inside model hookLoopback:在模型钩子中获取模型更改
【发布时间】:2014-12-25 04:11:53
【问题描述】:

在模型 PUT 上,我需要根据其原始值进行自定义验证。 在 beforeUpdate 模型钩子中,我可以通过 'this' 关键字访问“next”函数、“请求主体”对象(作为 beforeUpdate 参数)和更新模型本身。

有什么方法可以在不从数据库中查询的情况下获取原始模型或其更改?

甚至可以在模型挂钩中更新当前模型(因为更改“this”属性不会生效)?

【问题讨论】:

    标签: loopbackjs strongloop


    【解决方案1】:

    免责声明:我是 LoopBack 开发人员。

    有什么方法可以在不从数据库中查询的情况下获取原始模型或其更改?

    不,这是不可能的。

    看看loopback-datasource-juggler/lib/dao.jsupdateAttributes()的代码,当你向PUT /models/:id发出请求时会调用它:

    inst.setAttributes(data);
    
    inst.isValid(function (valid) {
      if (!valid) {
        if (cb) {
          cb(new ValidationError(inst), inst);
        }
      } else {
        inst.trigger('save', function (saveDone) {
          inst.trigger('update', function (done) {
            // etc.
    

    模型在执行任何钩子之前更新。

    【讨论】:

    猜你喜欢
    • 2015-01-29
    • 1970-01-01
    • 1970-01-01
    • 2016-12-14
    • 2016-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多