我如何在解析ios中获得AND子句

lhe*_*ncq 2 iphone ios parse-platform pfquery

我使用此链接作为指南,但我可以弄清楚如何使用AND子句进行解析.它只在示例代码中定义OR子句.

如果我要从SQL语句转换它,它看起来像这样......

SELECT * FROM RemittanceTable WHERE beneCode = 'code' AND remittanceAmount = 500.00
Run Code Online (Sandbox Code Playgroud)

例如,在此代码中,我想在读取数据之前检查代码和数量是否正确.但它用OR子句验证

PFQuery *beneCodeQuery = [PFQuery queryWithClassName:@"RemittanceTable"];
[beneCodeQuery whereKey:@"beneCode" containsString:_beneCodeText.text];

PFQuery *amountQuery = [PFQuery queryWithClassName:@"RemittanceTable"];
[amountQuery whereKey:@"remittanceAmount" equalTo:amount];

PFQuery *query = [PFQuery orQueryWithSubqueries:[NSArray arrayWithObjects:beneCodeQuery,amountQuery,nil]];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
    if (!error) {
        for (PFObject *object in objects) {
            NSLog(@"%@", object);

            [self resignAllResponder];
            _paymentDetailsImage.frame = CGRectMake(_paymentDetailsImage.frame.origin.x, _paymentDetailsImage.frame.origin.y, _paymentDetailsImage.frame.size.width, paymentModeOrigHeight);
            _detailsView.alpha = 1;

        }
    }}}];
Run Code Online (Sandbox Code Playgroud)

Mar*_*dal 6

每次添加约束时,它都隐式使用AND:

[query whereKey:@"username" equalTo:@"admin"];
[query whereKey:@"location" equalTo:@"USA"];
Run Code Online (Sandbox Code Playgroud)

转换为"用户名=='admin'和位置=='美国'"

UPDATE

以您的具体案例为例:

PFQuery *beneCodeQuery = [PFQuery queryWithClassName:@"RemittanceTable"];
[beneCodeQuery whereKey:@"beneCode" containsString:_beneCodeText.text];
[beneCodeQuery whereKey:@"remittanceAmount" equalTo:amount];

NSArray *result = [beneCodeQuery findObjects];
Run Code Online (Sandbox Code Playgroud)