我有一个名为 RealmObject
的 A
,它包含在 RealmObjects B 和 C
的 RealmList
中. B
和C
都具有多对多
关系。
我如何从 B
中的 RealmList
中删除 A
但保持它与 C
的关系(即它应该还在 Cs RealmList
)?
简而言之,我需要知道如何从 RealmList 中删除一个对象而不影响同一对象的其他关系(而不是从 Realm 中删除它)。
最佳答案
就像任何列表一样,真的。
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对象)
。
关于android - 从 RealmList 中删除 RealmObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40015386/