gpt4 book ai didi

ios - 一个键有多个约束的PFQuery

转载 作者:技术小花猫 更新时间:2023-10-29 10:54:20 26 4
gpt4 key购买 nike

我有 parse.com 数据库。我在名为“文本”的表中有列。我必须找到具有与 AND 条件匹配的多个键的文本。我尝试了所有方法。我尝试使用:

    PFQuery *query=[PFQuery queryWithClassName:@"post"];
[query whereKey:@"text" containedIn:Array];

    PFQuery *query=[PFQuery queryWithClassName:@"post"];
[query whereKey:@"text" containsAllObjectsInArray:Array];

PFQuery *query=[PFQuery queryWithClassName:@"post"];
for (NSString *str in filtersArray) {

[query whereKey:@"text" containsString:str];

}

但是没有人工作。请指导我是否解析 sdks 完全支持这个?如果是,我怎样才能达到结果。非常感谢:)

EIDT:

例如我在数据库中有三个条目作为文本:

  1. “我有一个数据条目”

  2. “我在数据中找不到东西”

  3. “我该怎么做”

如果传递“i”和“this”,它应该返回条目 (3)

如果传递 "i"和 "data"它应该返回条目 (1,2)

如果传递“i”和“else”,它应该什么都不返回

最佳答案

您的查询不起作用的原因是因为 Parse 不支持在同一键上多次使用相同的约束(在本例中为“containsString:”)。

因此,我的建议是使用 - (instancetype)whereKey:(NSString *)key matchesRegex:(NSString *)regex 查询将匹配所有过滤器字符串的正则表达式.

NSArray *qryStrings = @[str1, str2, str3, ....]; //strings you are trying to match

//string which will hold our regular expression
NSString *regexString = @"^"; //start off the regex

for (NSString *str in qryStrings) { //build the regex one filter at a time
regexString = [NSString stringWithFormat:@"%@(?=.*%@)", regexString, str];
}

regexString = [NSString stringWithFormat:@"%@.*$", regexString]; //finish off the regex

PFQuery *query = [PFQuery queryWithClassName:@"post"];
[query whereKey:@"text" matchesRegex:regexString];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (!error) {
//objects array contains matching rows with matching strings
}
else {
NSLog(@"%@ %@", error, [error userInfo]);
}
}];

关于ios - 一个键有多个约束的PFQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31372734/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com