我有模特:
public class Feed extends RealmObject {
@PrimaryKey
private int id;
private boolean active;
private Section section;
private RealmList<Job> jobs;
// getters and setters
......
}
public class Section extends RealmObject {
private String title;
private String subtitle;
private String url;
private String imageSrc;
// getters and setters
......
}
public class Job extends RealmObject {
@PrimaryKey
private long id;
private boolean fultime;
private boolean contract;
private boolean remotely;
private String company;
private String link;
private String job;
private Date pubDate;
private String logoUrl;
private String bonus;
private String location;
// getters and setters
......
}
我想远程获取带有作业的Feed。 只需远程获取作业,这很容易,但我想要的是每个磁带只能远程工作的空缺列表
有几个按类型分组的rss feed空缺,例如设计,后端。我用Realm解析并缓存它们。工作可以是远程,合同,fultaym。我希望得到她的职位空缺,例如只有空缺fultaym工作。
例如,有饲料
|设计|统计工作40 |
|后端|计算工作60 |
.....
我想添加过滤器,例如只有fultaym
|设计|计算工作35 |
|后端|计算工作51 |
........
抱歉我的英文
答案 0 :(得分:1)
来自境界的克里斯蒂安。要记住关于Realm的一件事是它不是关系数据库,所以有时你必须考虑一个不同的对象模型才能表达你想要的查询。
在您的情况下,您还需要将Feed添加到作业,然后直接查询作业:
public class Job extends RealmObject {
...
Feed feed;
}
RealmResults<Job> results = realm.where(Job.class).equalTo("fulltime", true).findAllSorted("feed.id")
// Getting the count for each feed type would then require something like this:
RealmResults<Feed> feeds = realm.allObjects(Feed.class);
for (Feed feed : feeds) {
int feedCount = results.where().equalTo("feed.id", feed.getId()).count();
}