2015-08-17 30 views
2

如何使用realm.io遞歸刪除具有一對多關係的記錄?如何使用realm.io(Java/Android)遞歸刪除記錄?

例如我有以下嵌套對象:

public class RealmUnit extends RealmObject { 
    private int id; 
    private RealmList<RealmChapter> chapters; 
    public RealmUnit() { 
     chapters = new RealmList<>(); 
} 

public class RealmChapter extends RealmObject { 
    private int id; 
    private RealmList<RealmChapterGoal> chapterGoals; 
    public RealmChapter() { 
     chapterGoals = new RealmList<>(); 
    } 
} 

public class RealmChapterGoal extends RealmObject { 
    private String type; 
    private String text; 
    public RealmChapterGoal() {} 
} 

回答

3

目前境界不級聯刪除,但它是我們的TODO,並在這裏追蹤:https://github.com/realm/realm-java/issues/1104

所以現在y我們唯一的選擇是不幸的是手動的自下而上的方法。

for(RealmChapter chapter: realmUnit.getChapters) { 
chapter.getChapterGoals().clear(); 
} 

realmUnit.getChapters().deleteAllFromRealm(); 
realmUnit.deleteFromRealm(); 

這裏也描述了幾個變通辦法: https://github.com/realm/realm-java/issues/2717

+0

removeFromRealm();已經摺舊了,使用deleteFromRealm();代替。 – DoctorD