我需要使用PFQueryTableViewController生成活动的“提要”。我有7个班级,都包含各种活动(即:Paymenmt,Meal,Note...)。它们都包含指向Child类的指针。
我想要做的是查询所有这些类,以拉取对应子类的最新活动,并返回每个类的对象。
我试过了,
override func queryForTable() -> PFQuery {
let queryNote = PFQuery(className: "Note")
queryNote.whereKey("child", equalTo: passedChildID!)
let queryPayment = PFQuery(className: "Payment")
queryItem.whereKey("child", equalTo: passedChildID!)
return queryNote
}然而,我遇到了麻烦,因为我不能返回查询数组。
我也尝试过query.orQueryWithSubQueries,但它只适用于同一类的查询。
解析文档给出了示例,但仅针对2个类(例如)。
query.whereKey("post", equalTo: PFObject(withoutDataWithClassName: "Post", objectId: "1zEcyElZ80"))任何帮助都将不胜感激。
发布于 2016-01-12 16:29:22
不幸的是,没有办法做到这一点。一次只能查询一个类。
一种可能的解决方法是创建一个Activity类,其中包含每个活动的要点,然后添加指向正确活动(即Meal)的指针。
这样,您就可以查询所有最新的活动,还可以使用include语句获取Meal/Payment/Note对象。
但是,对于每种类型的活动,每个Activity对象都需要有一个列,因此,如果您有10个不同的活动类(如Meal ),那么Activity类将需要10个这样的指针列。这不是一个漂亮的变通方法,但它可以工作。
虽然我不知道你的数据模型,但我仍然建议你重新考虑一下,看看是否有可能用不同的方式来做。当您开发一个移动应用程序时,您应该根据需要进行的查询来规划您的数据模型,而不是严格按照自治对象来思考的老式RDBM方法。
https://stackoverflow.com/questions/34729182
复制相似问题