1

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);
    }

}];
4

1 に答える 1

1

これを照会する唯一の方法は、すべてのデータを取得してデバイス上で比較することです。field2ただし、より大きくなるとbool を設定するクラウド コードを使用して回避することができましたfield1。これで、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();
});
于 2014-03-20T14:36:11.813 に答える