我有一个包含2个数字字段的解析表,我需要创建一个查询,只下拉field2小于field1的记录。
我尝试了这个但是它提供了一个例外,即谓词必须有一个键路径和一个常量:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"field2 < field1"];
PFQuery *query = [PFQuery queryWithClassName:parseRequestObject predicate:predicate];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
for (PFObject *object in objects) {
NSLog(@"%@", object.objectId);
}
}];
答案 0 :(得分:1)
看来,查询此问题的唯一方法是获取所有数据并在设备上进行比较。然而,我设法使用在field2
变得大于field1
时设置bool的云代码来绕过它。现在我可以查询BOOL字段以获取我需要的记录。
Parse.Cloud.beforeSave("MyObject", function(request, response) {
var field1 = request.object.get("field1");
var field2 = request.object.get("field2");
if (field2 >= field1) {
request.object.set("completed", true);
}
response.success();
});