我一直在阅读 Realm Java 文档,但找不到类似于SQL中的子句"IN",有人可能使用过类似的东西?目前,我正在使用循环来逐个带来结果,但我不想这样做。
我将不胜感激你的帮助!
Realm 支持 in
子句已经有一段时间了,但直到 3.1.3 才正式记录下来。 它适用于字符串,数值字段,日期和二进制数据。
字符串用法示例:
realm.where(Person.class)
.in("name", new String[]{"Jill", "William", "Trillian"})
.findAll();
或者您可以选择忽略大小写。
realm.where(Person.class)
.in("name", new String[]{"Jill"}, Case.INSENSITIVE)
.findAll();
有关详细信息,请参阅 https://realm.io/docs/java/latest/#filtering。
不幸的是,直到领域版本 1.1.0 才有"IN()"支持,但这里有一些针对"IN()"的解决方法
RealmQuery<YourObject> query = realm.where(YourObject.class);
for (String id : ids) {
query.or().equalTo("yourField", id);
}
RealmResults<YourObject> results = query.findAll();