#android #realm
#Android #область
Вопрос:
Как мы можем запросить базу данных Realm на основе RealmList в качестве переменной-члена?
Позвольте мне дополнительно уточнить вариант использования.
У меня есть следующий класс:
public class Match extends RealmObject {
@PrimaryKey
@Expose
private String matchid;
@Expose
private RealmList<Team> Team = new RealmList<>();
}
И объект Team выглядит следующим образом:
public class Team extends RealmObject {
@PrimaryKey
@Expose
private String teamid;
}
Я хочу запросить все объекты соответствия, в которых teamid
, например, 1.
Возможно ли это? Как мы можем написать такой запрос в Realm?
Комментарии:
1. Вы читали документацию? Примеры, кажется, ясно показывают
realm.where(Team.class).equalTo("teamid", 1)
2. Для получения более подробной информации, realm.io/docs/java/latest/#queries
3. Но это будет запрашивать все объекты Team.
4. О, я понимаю, о чем вы спрашиваете. Я не думаю, что вы можете запросить объекты соответствия, где значение
teamId
равно 1. Вам нужно будет либо вместо этого иметь объект Match, который содержит только команду 1, либо иметь в команде ссылку на совпадения, которым она соответствует
Ответ №1:
RealmResults<Match> results = realm.where(Match.class)
.equalTo("Team.teamid", 1).findAll();
Дополнительная информация о запросах ссылок: https://realm.io/docs/java/latest/#link-queries