环回删除多个关系
Loopback delete multiple relations
我正试图从我的 angular 应用程序中破坏链接到模型的多个关系。
在我的 person.json 我有两个关系:
"messageGroups": {
"type": "hasMany",
"model": "messageGroup"
},
"messageStudents": {
"type": "hasMany",
"model": "messageStudent"
}
这些工作正常。
但是,我想在一次通话中为一个人删除多个 messageGroups 和 messageStudents。而不是多次调用 Person.messageGroups.destroyById(...) 和 Person.messageStudents.destroyById(...)
我最初的想法是在我的 person.js 文件中创建一个远程方法,该方法接受一个 personId 和一个包含 messageGroups 和 messageStudents id 的对象。
但我无法编写工作代码。
我最后一次尝试是这样的:
Person.destroyTargetsFromMessage = function (personId, assignees, callback) {
for(var i in assignees.studentIds){
Person.messageStudents.destroyById({'id': personId, 'fk': assignees.studentIds[i]});
}
for(var i in assignees.groupIds){
Person.messageGroups.destroyById({'id': personId, 'fk': assignees.groupIds[i]});
}
callback();
};
或者说正确的方法是多次调用我的 API 吗?
更新
我编写了这段代码,使我更接近我的目标:
Person.destroyTargetsFromMessage = function (personId, assignees, callback) {
Person.findById(teacherId, function(err, targetPerson){
for(var i in assignees.studentIds){
targetPerson.messageStudents.findById(assignees.studentIds[i], function(err, student){
callback(null, student);
console.log(student);
});
}
for(var i in assignees.groupIds){
targetPerson.messageGroups.findById(assignees.groupIds[i], function(err, group){
callback(null, group);
console.log(group);
});
}
callback();
});
};
唯一的问题是我无法对我的 targetPerson 关系调用 destroyById,但 findById 似乎工作正常。
已解决
删除我关系的方法是destroy
,不是destroyById
删除我关系的方法是destroy
,不是destroyById
我正试图从我的 angular 应用程序中破坏链接到模型的多个关系。
在我的 person.json 我有两个关系:
"messageGroups": {
"type": "hasMany",
"model": "messageGroup"
},
"messageStudents": {
"type": "hasMany",
"model": "messageStudent"
}
这些工作正常。 但是,我想在一次通话中为一个人删除多个 messageGroups 和 messageStudents。而不是多次调用 Person.messageGroups.destroyById(...) 和 Person.messageStudents.destroyById(...)
我最初的想法是在我的 person.js 文件中创建一个远程方法,该方法接受一个 personId 和一个包含 messageGroups 和 messageStudents id 的对象。
但我无法编写工作代码。 我最后一次尝试是这样的:
Person.destroyTargetsFromMessage = function (personId, assignees, callback) {
for(var i in assignees.studentIds){
Person.messageStudents.destroyById({'id': personId, 'fk': assignees.studentIds[i]});
}
for(var i in assignees.groupIds){
Person.messageGroups.destroyById({'id': personId, 'fk': assignees.groupIds[i]});
}
callback();
};
或者说正确的方法是多次调用我的 API 吗?
更新
我编写了这段代码,使我更接近我的目标:
Person.destroyTargetsFromMessage = function (personId, assignees, callback) {
Person.findById(teacherId, function(err, targetPerson){
for(var i in assignees.studentIds){
targetPerson.messageStudents.findById(assignees.studentIds[i], function(err, student){
callback(null, student);
console.log(student);
});
}
for(var i in assignees.groupIds){
targetPerson.messageGroups.findById(assignees.groupIds[i], function(err, group){
callback(null, group);
console.log(group);
});
}
callback();
});
};
唯一的问题是我无法对我的 targetPerson 关系调用 destroyById,但 findById 似乎工作正常。
已解决
删除我关系的方法是destroy
,不是destroyById
删除我关系的方法是destroy
,不是destroyById