如果我有一个原始值数组,如何在RealmResults的.where()上运行.not()。contains()?
代码希望看起来像这样:
results.where().not().contains("id", new int[] {1, 2, 3})
或者我是否必须迭代所有这些结果并将它们单独取出?
答案 0 :(得分:4)
您可以尝试使用beginGroup,然后不要查询数组
realm1.where(UserModel.class)..beginGroup().not().
in("key",Your Array)).endGroup().findAll();
答案 1 :(得分:2)
现在没有这样的方法来查询数组。 contains()的第二个参数需要一个字符串,因此你无法传递int []或int。迭代结果是唯一的选择。
RealmQuery q = users.where();
for (int id : ids) {
q = q.notEqualsTo("id", id);
}
RealmResults<users> users = q.findAll();
如果需要查询一系列值,可以在()之间使用。