【发布时间】:2017-12-05 15:22:44
【问题描述】:
我根据其他领域对象创建了一个领域对象(VolleyballPlayer)。 Female 对象包括所有 Volleyball 对象,但 Male 对象包含一些 Volleyball 对象。
我想创建 VolleyballPlayer 对象,将 Female 和 Male 对象分组为性别。但是根据RealmResults我找不到怎么做。
我的领域对象:
public class Volleyball extends RealmObject {
private int round;
// ... Generated getters and setters ...
}
//...All females play volleyball.
public class Female extends RealmObject {
private Volleyball volleyball;
private int clasp;
// ... Generated getters and setters ...
}
public class Male extends RealmObject {
private Volleyball volleyball;
private int belt;
// ... Generated getters and setters ...
}
新对象:
public class VolleyballPlayer extends RealmObject {
private Volleyball volleyball;
private String gender;
// ... Generated getters and setters ...
}
我有 allFemale 和 allMale realmResults 但我没有获取 allPlayer realmResults。
RealmResults<Female> allFemales = mRealm.where(Female.class).findAll();
RealmResults<Male> allMales = mRealm.where(Male.class).findAll();
所有女学生都打排球,我如何从所有打排球的球员(女性)中提取男球员? 我在下面的代码中编写了一种方法:
public void setAllVolleyballPlayers(Realm mRealm) {
Realm mRealm = getRealm();
mRealm.beginTransaction();
addAllMalePlayers(mRealm);
addAllFemalePlayers(mRealm);
mRealm.commitTransaction();
}
private void addAllMalePlayers(Realm mRealm) {
RealmResults<Male> allMalePlayers = new MalePlayersQueries().getAllMales(mRealm);
mRealm.beginTransaction();
if (allMalePlayers != null && allMalePlayers.size() > 0) {
VolleyballPlayer volleyballPlayer = mRealm.createObject(VolleyballPlayer.class);
volleyballPlayer.setGender(getString(R.string.male));
for (Male male : allMales) {
VolleyballPlayer volleyballPlayer =
mRealm.createObject(VolleyballPlayer.class);
volleyballPlayer.setVolleyball(male.getVolleyball());
}
}
}
private void addAllFemalePlayers(Realm mRealm) {
RealmResults<Female> allFemales = new FemaleQueries().getAllPlayers(mRealm);
VolleyballPlayer volleyballPlayer = mRealm.createObject(VolleyballPlayer.class);
volleyballPlayer.setGender(getString(R.string.female));
////// All female students play volleyball and how can I extract male players from all the players(in females) who play this volleyball and get females
}
我想在表格末尾显示:
**Volleyball Players**
**Female**
Emma
Olivia
Sophia
**Male**
John
Jame
【问题讨论】:
-
排球没有场地。那它为什么存在呢?
Male/Female和Student有什么区别?所有男性/女性都是学生吗? -
是的,所有男性和女性都是学生。
-
sequenceNumber和setNumber之间有区别吗?还是它们是同一件事,除了在两个不同的类别中?在女性/男性中设置Volleyball到底意味着什么?这意味着他们已经打过 1 场特定的排球比赛?更多的排球比赛怎么样? -
这些字段之间没有逻辑-> sequence 和 setNumber。你可以看到我编辑的答案
-
设置或序列号只有数字和没关系。你不在乎这些。男性专用对象是腰带,女性专用对象不再是扣子:)