如何在Parse.com IOS中获取所有关系对象?

时间:2015-07-31 07:07:40

标签: ios objective-c parse-platform

我有以下查询:

PFObject *photoData = [PFObject objectWithClassName:@"Photos"];
PFRelation *relation = [photoData relationForKey:@"photo"];
PFQuery *query = [PFQuery queryWithClassName:@"People"];
query = [relation query];
[query whereKey:@"deleted" equalTo:@NO];
[query whereKey:@"createdAt" lessThan:_createdAt];
[query orderByDescending:@"createdAt"];
query.limit = 20;
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
    ...
}

我在Parse中有一个名为People的数据库表。在该表中,有一堆数据,但有一个名为photo的关系。现在,我在照片关系中保存了一张照片(及其数据)。在Parse仪表板中,数据已正确保存。

如何取回?现在我对这个系统(和问题)有约束,每个People个对象只有一个照片对象。所以我需要立刻把它全部拿回来。

1 个答案:

答案 0 :(得分:1)

Relation正是它的字面含义。它不包含任何数据。如果您想查询数据,则需要PFQuery PFRelation query PFRelation *relation = [photoData relationForKey:@"photo"]; PFQuery *photoQuery = [relation query]; // perform your photoQuery here 方式获取photo,如下所示:

Pointer

如果您仅限制一个对象,则可以将Relation更改为$foreach item in p.Beneficiaries$ BeneName $ai.Beneficiaries.IndexOf(item) + 1$ : item.Name $end$ 类型,而不是使用 public static void editPassword(String user, String siteEdited, String site, String usernamej, String password, String info){ try{ System.out.println(usernamej); Class.forName("org.sqlite.JDBC"); c = DriverManager.getConnection("jdbc:sqlite:res/Users"); c.setAutoCommit(false); PreparedStatement stmt = c.prepareStatement("UPDATE " + user + " SET Username = ? Where SiteName = ?"); stmt.setString(1, usernamej); stmt.setString(2, siteEdited); stmt.executeUpdate(update); c.commit(); stmt.close(); c.close(); }catch(Exception e){ System.err.print( e.getClass().getName() + ": " + e.getMessage()); } }