当前位置 : 主页 > 手机开发 > ios >

解析iOS如何通过相关PFObject中找到的属性查询对象?

来源:互联网 收集:自由互联 发布时间:2021-06-11
我正在编写一个iOS应用程序,我正在使用Parse在服务器端存储数据. 我有用户,每个用户都可以有一辆车. 我试图弄清楚如何编写一个查询,允许我让所有用户拥有年份小于2000且具有特定颜色
我正在编写一个iOS应用程序,我正在使用Parse在服务器端存储数据.

我有用户,每个用户都可以有一辆车.

我试图弄清楚如何编写一个查询,允许我让所有用户拥有年份小于2000且具有特定颜色的汽车(比方说红色).

每辆车都与用户有关系,每个用户也与他们的汽车有关系.

用户< - >车(一对一)

我开始使用PFQuery:

PFQuery * userQuery = [PFQuery queryWithClassName:@"User"];

我不知道如何处理查询中的关系.所以,我几乎不确定如何完成这项工作.

有什么建议吗?

首先,User类是一种特殊情况,在查询中使用它时需要执行以下操作:

PFQuery *query = [PFUser query];

接下来,构造所需查询的方式取决于指针的位置.如果用户的汽车属性是指向汽车的指针,那么查询将如下所示:

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对象:

[carQuery includeKey:@"user"];
网友评论