0

我在 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 更新为空。我怎样才能删除参考?

4

1 回答 1

0

您必须先从视频中删除标签,然后再删除标签。

tag.get('videos').forEach(function(video) {
    video.get('tags').removeObject(tag);
    video.save();
});

tag.destroyRecord();
于 2016-05-10T13:37:18.577 回答