Удалить дубликаты в области - PullRequest
0 голосов
/ 01 октября 2019

Как я могу удалить дубликаты из базы данных Realm? Я пытаюсь что-то вроде этого, но он удаляет только дубликаты из "старых" записей в базе данных.

    private void addRecord(){

    realm.beginTransaction();

    ResultFavorite resultFavorite = realm.createObject(ResultFavorite.class);
    resultFavorite.setImage(image);
    resultFavorite.setTitle(gameTitle.getText().toString());
    resultFavorite.setReleaseDate(gameReleaseDate.getText().toString());
    resultFavorite.setScore(Integer.parseInt(gameScore.getText().toString()));


    RealmResults<ResultFavorite> results = realm.where(ResultFavorite.class).equalTo("title",gameTitle.getText().toString()).findAll();

    results.deleteLastFromRealm();

    realm.commitTransaction();
    }

РЕШЕНИЕ

Это мое решение, чтобы избежатьдубликаты в базе данных Realm.

   private void addRecord(){

    realm.beginTransaction();

    ResultFavorite object = realm.where(ResultFavorite.class)
            .equalTo("title", gameTitle.getText().toString())
            .findFirst();
    if(object == null){
        ResultFavorite resultFavorite = realm.createObject(ResultFavorite.class);
        resultFavorite.setImage(image);
        resultFavorite.setTitle(gameTitle.getText().toString());
        resultFavorite.setReleaseDate(gameReleaseDate.getText().toString());
        resultFavorite.setScore(Integer.parseInt(gameScore.getText().toString()));

    } else {

    }
    realm.commitTransaction();
}
...