2016-11-21 66 views
0

我有2班解析关系型查询 - SWIFT 3

Reports - objectID, Title, Date & relationItem (Relation type column linked up to Items) 
Items - ObjectID, Title, Date etc 

我想查询所有Items是在报告等于objectID。用户创建报告然后添加项目给他们。这些项目可以在Items表中找到。

我已经看过了https://parseplatform.github.io/docs/ios/guide/#relations,但没有看到任何swift3。

我已经尝试了一些东西,但收效甚微。我在下面找到了这个snipplet,但不知道如何将它应用于我的课程。

var relation = currentUser.relationForKey("product") 
relation.query()?.findObjectsInBackgroundWithBlock({ 

很想有人直接将我到正确的方向!由于

试过下面这太代码!

var query = PFQuery(className:"Items") 
query.whereKey("relationItem ", equalTo: PFObject(withoutDataWithClassName:"Reports", objectId:"MZmMHtobwQ")) 

回答

1

行,所以我不得不改变表稍微得到这个工作,以防止query一个query内。

我添加了一个relation TypeItems表,而不是Reports

然后我设法取回所有基于该report ObjectId这样的Items

let query = PFQuery(className:"Items") 
    query.whereKey("reportRelation", equalTo: PFObject(withoutDataWithClassName:"Reports", objectId:"3lWMYwWNEj")) 

这就工作。请注意,reportRelation是关系类型列。 感谢

0

当你考虑一个一对多的关系,是否执行指针或数组,有几个因素要考虑。首先,这种关系涉及多少物体?如果关系的“多”一方可能包含一个非常大的数量(大于100个)的对象,那么您必须使用指针。如果对象的数量很小(低于100左右更少),那么阵列可以更方便,特别是如果你通常需要获得所有相关的对象(“多”,在“一个一对多的关系”)同时作为父对象。

http://parseplatform.github.io/docs/ios/guide/#relations

如果您正在使用一个工作到一对多的关系,使用指针或数组。有关示例和更多解释,请参阅指南。

+0

感谢您的评论。但许多报告可以有相同的项目。所以这会更多的是多对多的关系。 – Cliffordwh