Как удалить список областей в базе данных областей

У меня есть класс Realm под названием Sale. У меня был список объектов класса allSales для продажи. Теперь я хочу удалить некоторые объекты в классе Sale Realm.

    RealmResults<Sale> allSales = realm.where(Sale.class).findAll();
    RealmList<Sale> toBeDeleted = new RealmList<Sale>();

    for(Sale sale : allSales){
        String salesDate = sale.getSaleDate();
        if(salesDate.equals("01-01-2017")) {
            toBeDeleted.add(realm.copyToRealm(sale));
        }
    }

    realm.beginTransaction();
    toBeDeleted.clear();
    realm.commitTransaction();

Данные не очищались в Sale классе, а только очищался список toBeDeleted.


person JEGADEESAN S    schedule 15.05.2017    source источник
comment
Я не могу использовать функцию «deleteFromRealm».   -  person JEGADEESAN S    schedule 15.05.2017
comment
Я использую базу данных Realm версии 0.87.4.   -  person JEGADEESAN S    schedule 15.05.2017
comment
почему вы используете 0.87.4, когда последняя версия 3.1.4 (кстати, вы ищете clear(), а документы realm.io/docs/java/0.87.4/api/io/realm/RealmList.html )   -  person EpicPandaForce    schedule 15.05.2017
comment
Хотя ниже есть несколько предложений, я думаю, что реальный ответ — обновить свой Realm. Эта версия очень старая.   -  person G. Blake Meike    schedule 16.05.2017
comment
Конечно, я скоро обновлю свою версию. В настоящее время мне нужно удалить несколько объектов внутри области БД. Пожалуйста, помогите мне удалить   -  person JEGADEESAN S    schedule 16.05.2017
comment
Вы можете легко удалить этот объект, обновив его, а затем следуя инструкциям в любом из ответов ниже. Если по какой-то причине вы не хотите этого делать, воспользуйтесь древней документацией здесь: realm.io/docs/java/0.87.4/#deletion   -  person G. Blake Meike    schedule 16.05.2017


Ответы (2)


Вы можете использовать RealmList.deleteFromRealm()/RealmList.deleteAllFromRealm() для удаления элементов как из списка, так и из Realm. См. методы в документации по API здесь: https://realm.io/docs/java/latest/api/io/realm/RealmList.html

person M-WaJeEh    schedule 15.05.2017
comment
Я получил ошибку, не могу разрешить символ deleteFromRealm. - person JEGADEESAN S; 15.05.2017

Вы должны вызвать этот метод из транзакции области...

realm.executeTransaction(new Realm.Transaction() {
                                    @Override
                                    public void execute(Realm realm) {
                                        saleRalmList.deleteLastFromRealm();// use to delete all

                                        //**OR** use in for loop to delete perticulr record as a location
                                        saleRalmList.deleteFromRealm(location);

                                    }
                                });
person Lalchand    schedule 16.05.2017