我是Parse的新手,我正在开发一个使用Android PARSE Sdk的项目,所以我想知道如何使用android sdk进行where查询或条件。
我想像这样[Psuedo code]
进行查询Select * from employ where employId is ("1","2","3")
我在解析文档中找到this,我不知道它是否有帮助。
修改
这是我在PARSE上发现的,但它不起作用
String[] id= {"1","2","3"};
query.whereContainedIn("employId ", Arrays.asList(id));
它给我一个空列表但是如果我逐个查询它我得到结果......谁能告诉我什么错了?
答案 0 :(得分:3)
您可以使用whereContainedIn选择特定行。看到这篇文章你可以得到更多的想法。 https://www.parse.com/questions/different-arrays-and-wherecontainedin-for-android
List<String> employId = new ArrayList<String>();
employId.add("1"); employId.add("2"); employId.add("2");
query.whereContainedIn("employId", employId);
答案 1 :(得分:1)
我找到了解决方案,我必须说它PARSE相当蹩脚,不要在文档中的任何地方提及。
问题是我在whereContainedIn
方法中使用的值是String 类型,但实际上它们指向另一个表的行。
我试图仅使用 ids [因为它显示在解析] 来获取值,而是我必须传递整个对象才能检索它们。这就是为什么它返回空列表的原因。
事情是即使它显示ID [指向表中对象的指针],我们也只能使用ID来搜索,而是如果我们想要基于特定对象搜索表,我们必须使用完整的Parse对象。