我正在编写一个 iOS 应用程序,我正在使用 Parse 在服务器端存储数据。
我有用户,每个用户都可以拥有一辆汽车。
我想弄清楚如何编写一个查询,使我能够获取所有拥有年份小于 2000 年且具有特定颜色(假设为红色)汽车的用户。
每辆车与用户都有关系,每个用户也与他们的汽车有关系。
用户<->汽车(一对一)
我开始使用 PFQuery:
PFQuery * userQuery = [PFQuery queryWithClassName:@"User"];
我不确定如何处理查询中的关系。所以,我几乎不确定如何完成这项工作。
有什么建议吗?
最佳答案
首先,User
类是一个特例,在查询中使用它时,您需要这样做:
PFQuery *query = [PFUser query];
接下来,构建所需查询的方式取决于指针的位置。如果 User 有一个 car
属性,它是指向 Car
的指针,那么查询将如下所示:
PFQuery *userQuery = [PFUser query];
PFQuery *carQuery = [PFQuery queryWithClassName:@"Car"];
[carQuery whereKey:@"year" lessThan:@(2000)];
[carQuery whereKey:@"color" equalTo:@"red"];
[userQuery whereKey:@"car" matchesQuery:carQuery];
[userQuery includeKey:@"car"]
[userQuery findObjectsInBackgroundWithBlock:^(NSArray *users, NSError *error) {
for (PFObject *user in users) {
PFObject *car = user[@"car"];
// read user/car properties as needed
}
}];
如果 Car
类有一个 user
属性,您只需执行一个普通查询并添加以下行即可访问完整的 User
> 对象:
[carQuery includeKey:@"user"];
关于ios - 解析 iOS 如何通过在相关 PFObject 中找到的属性查询对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24522089/