我与ember/firebase 中的这些模型有很多对很多的关系
model/video
export default Model.extend({
...
tags: hasMany('tag', {async: true}),
...
});
model/tag
export default Model.extend({
...
videos: hasMany('video', {async: true})
});
在控制器中有一个删除动作
delete(tag) {
var videos = tag.get('videos');
tag.destroyRecord().then(() =>{
videos.map((video) => {
video.save();
});
});
}
此操作删除了标记记录,但在视频中没有引用。当标签被删除时,视频var更新为空。如何删除引用??
您必须先从视频中删除标签,然后再删除标签。
tag.get('videos').forEach(function(video) {
video.get('tags').removeObject(tag);
video.save();
});
tag.destroyRecord();