0
レルムでは、findFirst()
を使用してデータベースの最初の要素を見つけるオプションがあります。しかし、私はその逆をしたい。私は、私が提供するいくつかの条件に基づいて最後の要素をしたい。レルムデータベースの最後の要素を見つける方法
GamesDetail learnGameDetail = realm.where(GamesDetail.class).equalTo("gameType", getResources().getString(R.string.learn_row)).notEqualTo("currentBadge",0).findFirst();
上記のクエリのすべての行はゼロとしてcurrentBadge
を有するであろう:
レルムデータベース内の最初の要素を見つけるために。しかし最後に更新された行には、ある値を持つcurrentBadge
があります。 currentBadge
が0でない最後の更新された行を見つける必要があります。あなたは
GamesDetail learnGameDetail = realm.where(GamesDetail.class)
.equalTo("gameType", getResources().getString(R.string.learn_row))
.notEqualTo("currentBadge",0)
.findAll()
.last(null);
を行うことができます
テーブルから最後の20項目を取得するための[Realm.io Androidの最善の方法]の可能な複製](https://stackoverflow.com/questions/28229866/realm-io-android-best-approach-to-get-lastより良い信頼性のために –
、領域にタイムスタンプフィールドを置き、 'order by timestamp desc'でクエリしてから最初に検索してください。 –
無作為の結果セットは、削除後に順序を保持することは保証されません。 – EpicPandaForce