2016-12-20 4 views
0

У меня есть родительский объект сферы, наподобие этого:realmList.deleteAllFromRealm не работает

public class Parentdb extends RealmObject { 
    @PrimaryKey 
    public long id; 

    RealmList<Child> childs; 
} 

, и я хочу, чтобы удалить все ребенок от родителей для этого я использую этот код:

realm.beginTransaction(); 
parentdb.childs.deleteAllFromRealm(); 
realm.commitTransaction(); 

Child child=realm.where(Child.class).findFirst();  

после запуска этого кода ребенок должен иметь нулевое право?
но это не так !!!
Я делаю что-то неправильно?

+0

Ну, у вас, вероятно, есть несколько родительских баз данных, и вы выбираете другого ребенка .... – EpicPandaForce

+0

realm берет ленивый подход в возвращении данных, поэтому используйте getChilds() вместо .childs –

ответ

1
realm.beginTransaction(); 
parentdb = realm.where(Parentdb.class).equalTo("id", 1L).findFirst(); 
parentdb.childs.deleteAllFromRealm(); 
realm.commitTransaction(); 

parentdb = realm.where(Parentdb.class).equalTo("id", 1L).findFirst(); 
assertThat(parentdb.childs.size()).isEqualTo(0); // should be true 

В основном у вас есть больше детей, в базе данных, чем только то, что принадлежит к той единственной parentDb объекта.

+0

спасибо для ответа я проверю, что завтра – max

Смежные вопросы