如何在帆中的Lifecycle回调中实例化模型?

时间:2016-08-20 23:01:01

标签: sails.js waterline

如何在Lifecycle回调中实例化一个与此不同的模型?删除父模型上的记录后,我想在afterDestroy中删除子模型的相关记录。 例如:

/**
 * Survey.js
 *
 */

  attributes: {
    question: {
      type: 'string',
      required: true
    },
    active: {
      type: 'boolean'
    },

    // Below is all specification for relations to another models
    answers: {
      collection: 'answer',
      via: 'answer'
    }
  },

  // Lifecycle Callbacks
  afterDestroy: function (destroyedRecords, cb) {
    answer.destroy({survey: destroyedRecords[0].id}).exec(function(err, answers) {
      console.log(answers);
    });
    cb();
  }
});

有了这个,我收到一个错误,回答'未定义

1 个答案:

答案 0 :(得分:0)

解决。 要在Sails中的Lifecycle回调中实例化一个模型而不是'this',您需要在模型之前使用sails.models。 对于上一个代码:

  // Lifecycle Callbacks
  afterDestroy: function (destroyedRecords, cb) {
    sails.models.answer.destroy({survey: destroyedRecords[0].id}).exec(function(err, answers) {
      console.log(answers);
    });
    cb();