gpt4 book ai didi

mysql - 环回 : deleted column in model instead of actual delete

转载 作者:可可西里 更新时间:2023-11-01 09:00:11 25 4
gpt4 key购买 nike

我正在考虑使用 Loopback 构建一个 RESTFull API,内部使用。我目前正在制作 API 的一小部分原型(prototype),以评估限制和工作量。我有一个巨大的限制:我可以创建/读取/更新,但要删除,我已经更新了数据库条目以将其标记为“已删除”(数据库中的 bool 值)。我不允许物理删除数据库条目。

我有一个 PersistedModel,以及对象之间的某种关系(依赖关系,例如一个对象的子对象与另一个对象的子对象)。

我的问题是:有没有办法覆盖在后台完成的 DELETE 操作并输入一些自定义代码:

  • 将对象标记为“已删除”(如更新表 SET deleted = 1 WHERE id = XXX)
  • 手动级联到依赖对象

在使用 DELETE api 调用时?

感谢您的建议。

最佳答案

要覆盖删除方法,您可以使用下一个代码。基于它创建一个 mixin 并附加到每个需要的模型

module.exports = function(Model) {

Model.removeById = Model.deleteById = Model.destroyById = function(id, options, cb) {
if (cb === undefined) {
if (typeof options === 'function') {
// destroyById(id, cb)
cb = options;
}
}
cb = cb || createPromiseCallback();

Model.update({id: id, {deleted: true}, options, cb})
return cb.promise;
};
}

关于mysql - 环回 : deleted column in model instead of actual delete,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46614224/

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