我有一个名为RealmObject
的{{1}},A
包含在RealmList
RealmObjects B and C
中。 B
和C
都有many to many
个关系。
如何从A
中的RealmList
中移除B
,但保持与C
的关系(即它仍应位于Cs RealmList
)?
简而言之,我需要知道如何从RealmList中删除对象而不影响同一对象的其他关系(不从Realm中删除它)。
答案 0 :(得分:1)
就像任何名单一样,真的。
realm.executeTransaction(new Realm.Transaction() {
B b = realm.where(B.class).equalTo(BFields.ID, bId).findFirst();
Iterator<A> iterator = b.getRealmList().iterator();
while(iterator.hasNext()) {
A a = iterator.next();
if(a.getId().equals(idToDelete)) {
iterator.remove(); // removes from realm list, but not from Realm
break;
}
}
});
但我认为如果您重新定义hashCode()
和equals()
基于主键工作,那么它也应该与remove(Object object)
可靠地协同工作。