2016-11-04 2 views
1

私は他のオブジェクトとたくさんの関係を持っている大きなオブジェクトを持っていて、それらのオブジェクトは他のオブジェクトとの関係も持っています。だから、私は、ルートオブジェクトを削除すると、私はすべての関係がされていない間に親オブジェクトだけが削除されていることがわかった、同じトランザクションでツリー全体を削除する方法はありますか?レルムオブジェクトを子関係で削除するにはどうすればよいですか?

答えて

4

レルムは現在cascading deleteをサポートしていません。あなたはその機能thereに投票することができます。現在のケースでは、手動で1つずつ行う必要があるようです。

realm.executeTransaction(new Realm.Transaction() { 
    @Override 
    public void execute(Realm realm) { 
     RootObj root = realm.where(RootObj.class) 
          .equalTo(RootObjFields.ID, rootId) 
          .findFirst(); 
     if(root != null) { 
      if(root.getChild() != null) { 
       root.getChild().deleteFromRealm(); 
      } 
      root.deleteFromRealm(); 
     } 
    } 
}); 
+0

@EpicPandaForceを回避していただきありがとうございます –

関連する問題