我有3个型号:ModelA,ModelB和ModelC。
模型“A”与模型“B”之间存在关系(HasManyThrough),模型“C”。
如何删除相关项?
module.exports = function(ModelA) {
ModelA.beforeRemote('deleteById', function(context, remoteMethodOutput, next) {
//Remove relationships
next();
});
};
答案 0 :(得分:0)
部分考虑因素:
调试上下文以实际查找与请求一起发送的id的位置。我使用通用示例来获取modelA的id。
要删除相关的modelB实例,modelAInstance.modelB.destroyAll()其中modelB是关系的名称,“modelA hasMany modelB”。
ModelA.beforeRemote('deleteById', function(context, remoteMethodOutput, next) {
//get the id of ModelA from context object.
var id = context.req.id;
//find the model instance to delete.
ModelA.findById(id, function(err, modelAInstance) {
if (err) throw err;
//destroy all ModelB instance related to modelAInstance.
modelAInstance.modelB.destroyAll({}, function(err, info) {
if (err) throw err;
console.log(info);
});
});
next();
});