gpt4 book ai didi

node.js - sails.js + waterline One-To-Many模型关联,删除Many时会发生什么?

转载 作者:搜寻专家 更新时间:2023-10-31 22:26:48 24 4
gpt4 key购买 nike

我在老师(一)和 child (多)之间有一个一对多的关系。

如果我这样做:

Teacher.destroy(teacherId).exec(function(err){});

子项不会自动删除。

这是一个错误还是我应该手动删除它们?如果这不是错误,不删除子项的解释是什么?

最佳答案

Waterline 目前不支持级联删除。它可能是 future 版本中的一个配置选项,但它可能永远不会成为默认值。在大多数生产就绪的应用程序中,您可能无论如何都应该进行软删除。在任何一种情况下,您都可以使用 afterDestroy lifecycle callback 获得您想要的。 .

api/models/Teacher.js 中,类似于:

module.exports = {
attributes: {
// attributes here
},
afterDestroy: function(destroyedRecords, cb) {
// Destroy any child whose teacher has an ID of one of the
// deleted teacher models
Child.destroy({teacher: _.pluck(destroyedRecords, 'id')}).exec(cb);
}
}

您可以使用 afterUpdate 方法对软删除执行类似的操作。

关于node.js - sails.js + waterline One-To-Many模型关联,删除Many时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23483739/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com