Android 如何删除域中的多对多数据库
这是我试过的Android 如何删除域中的多对多数据库,android,realm,Android,Realm,这是我试过的 public class AppInfo extends RealmObject { public String packageName; public RealmList<CategoryInfo> categoryList; } public class CategoryInfo extends RealmObject { public String categoryName; } 但是代码不能删除categoryName。而不是
public class AppInfo extends RealmObject {
public String packageName;
public RealmList<CategoryInfo> categoryList;
}
public class CategoryInfo extends RealmObject {
public String categoryName;
}
但是代码不能删除categoryName。而不是
AppInfo result = realm.where(AppInfo.class).equalTo("packageName",info.getPackageName()).findFirst();
result.categoryList.remove(category);
result.categoryList.remove(category);
你应该这样做
result.categoryList.where().equalTo("categoryName", category).findAll().deleteAllFromRealm();
使用Realm 3.4.0,您还可以
public class AppInfo extends RealmObject {
public String packageName;
public RealmList<CategoryInfo> categoryList;
}
public class CategoryInfo extends RealmObject {
public String categoryName;
@LinkingObjects("categoryList")
public final RealmResults<AppInfo> appInfos = null;
}
realm.where(CategoryInfo.class)
.equalTo("appInfos.packageName", packageName)
.equalTo("categoryName", category)
.findAll()
.deleteFromRealm();