Ich verwende Realm, um meine Werte in der lokalen Datenbank zu speichern.Aktualisieren Sie mehrere Zeilen in der Tabelle mit Realm in Android
Meine Anforderung ist, dass ich ein Feld status=1
basierend auf einer Bedingung ändern muss.
Ich habe folgende Methode versucht, um diese Aufgabe zu erfüllen. Und es funktioniert gut.
RealmResults<NotificationOrder> notificationOrders=realm
.where(NotificationOrder.class)
.equalTo(RealmConstants.TBL_NOTIFICATION_ORDER.property_id,ConstantMethod.getPreference(getActivity(),UserDefault.kPropertyId))
.equalTo(RealmConstants.TBL_NOTIFICATION_ORDER.status,0)
.findAll();
for (NotificationOrder order:notificationOrders) {
realm.beginTransaction();
order.setStatus(1);
realm.commitTransaction();
}
Jetzt kann es 1000 solcher Reihen in meinem lokalen db und mit seinem für Schleife einzelne Zeilen zu aktualisieren richtigen Weg scheint nicht.
Also meine Frage: Gibt es eine Möglichkeit wie MYSQL
Update-Abfragen in Realm, durch die wir alle Zeilen mit Status = 0 durch einzelne Anweisung aktualisieren können, anstatt einzelne Zeile einzeln zu aktualisieren?
Danke.
Derzeit nein, Sie müssten alle Objekte einzeln aktualisieren. Es gibt ein Problem, das es hier verfolgt: https://github.com/realm/realm-java/issues/762 –