android - 使用 Parse.com 进行嵌套和/或条件

标签 android parse-platform nested

这是我在这里发表的第一篇文章。我正在向 Parse.com 迈出第一步,但现在我遇到了一个无法解决的问题。 在询问之前,我一直在寻找解决方案,但一无所获。

事实是我必须根据两个不同列的值从表中检索记录。

让我们考虑下表:

idSection   idItem
---------   ------
1             10 
1             11
1             12
2             20
2             21
2             22
2             23
3             31
3             32
3             33

我需要的是通过以下方式创建“和”/“或”条件的选择:

select *
from table1
where (idSection = 1 and idItem > 11)
   or (idSection = 2 and idItem > 22)
   or (idSection = 3 and idItem > 32)

有什么想法吗? 提前致谢。

最佳答案

如果您使用的是 iOS,您可以执行以下操作:

NSPredicate * pred = [NSPredicate predicateWithFormat:@"(idSection = 1 and idItem > 11) or (idSection = 2 and idItem > 22) or (idSection = 3 and idItem > 32)"];
PFQuery * q = [PFQuery queryWithClassName:@"MyClass" predicate:pred];
[q findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
    NSLog(@"OBJ : %@",objects);
}];

如果是 JavaScript,请执行以下操作:

var clz = "MyClass";

var q1 = new Parse.Query(clz);
q1.equalTo("idSection", 1);
q1.greaterThan("idItem", 11);

var q2 = new Parse.Query(clz);
q2.equalTo("idSection", 2);
q2.greaterThan("idItem", 22);

var q3 = new Parse.Query(clz);
q3.equalTo("idSection", 3);
q3.greaterThan("idItem", 32);

var mainQuery = Parse.Query.or(q1,q2,q3);
mainQuery.find({
  success: function(results) {

  },
  error: function(error) {

  }
});

Android 与 javascript 类似。请参阅此处 ParseQuery 类中的“or”方法 https://parse.com/docs/android/api/

关于android - 使用 Parse.com 进行嵌套和/或条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25730420/

相关文章:

javascript - Parse - JavaScript 指针查询,从指针返回解析对象的问题

java - 使用 Android 设备传感器测量距离

java - 使用 libopencore-amr 支持为 ARM 构建 ffmpeg

xml - Parse.com和Core Data一起用于图书申请

javascript - 如何访问和处理嵌套对象,数组或JSON?

C# 嵌套标签的正则表达式

delphi - Delphi 中的嵌套属性(续)

android - SMS 的垃圾邮件防护算法

android - 无法解析 : com. google.android :flexbox:0. 2.1

ios - 当数组有数据时在 Swift 中解析返回空数组