在ember / firebase中无法删除多对多的引用

时间:2016-05-10 02:43:56

标签: ember.js firebase emberfire

我与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();
    });
  });
}

此操作会删除标记记录,但视频中没有引用。当标签是delet视频时,var更新为空。 我怎样才能删除引用?

1 个答案:

答案 0 :(得分:0)

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

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

tag.destroyRecord();