public class ChallengeDB extends RealmObject {
@PrimaryKey
private int challengeId;
private String targetType;
private RealmList<ChallengeTargetDB> ChallengeTargetDB;
private boolean isTargetPerParticipant;
}
public class ChallengeTargetDB extends RealmObject {
@PrimaryKey
private int targetId;
private String targetName;
private String description;
private long targetValue;
private int targetStep;
private boolean isPassed;
}
私はこれらの2つのテーブルを以下のようにリンクしており、特定のchallengeIdの最大「targetValue」値を取得する必要があります。レルムAndroidオブジェクトを子オブジェクトに集約
RealmResults<ChallengeDB> challengeDBs = realm.where(ChallengeDB.class)
.equalTo(WorkoutCashConstants.COLUMN_CHALLENGE_ID, challengeDB.getChallengeId()).findAll();
long max = challengeDBs.max("ChallengeTargetDB.targetValue").longValue();
私は例外がリンクされたオブジェクトのフィールドの集計がサポートされていない、言うように
java.lang.IllegalArgumentException: Aggregates on child object fields are not supported: ChallengeTargetDB.targetValue
私はすでに同様の方法を使用して、最大値を取得しています。しかし、私のクエリは、これは機能要求ですか? – Sutirth