我试图对对象中的嵌套指针运行一个查询。根据docs,当查询中包含嵌套指针时,支持点标记,但这似乎不起作用。它不会返回state == %@ AND event.expirationDate > %@
let predicate = NSPredicate(format: "to == %@ AND (state == %@ OR (state == %@ AND event.expirationDate > %@))",
User.currentUser(),
EventInvitation.State.Accepted.rawValue,
EventInvitation.State.Pending.rawValue,
NSDate())
let query = EventInvitation.queryWithPredicate(predicate)
query.includeKey("event")
query.includeKey("from")发布于 2015-04-10 02:56:17
我就是这样解决这个问题的
let acceptedQuery = EventInvitation.query()
.whereKey("state", equalTo: EventInvitation.State.Accepted.rawValue)
.whereKey("to", equalTo: User.currentUser())
let pendingQuery = EventInvitation.query()
.whereKey("state", equalTo: EventInvitation.State.Pending.rawValue)
.whereKey("event", matchesQuery: Event.query().whereKey("expirationDate", greaterThan: NSDate()))
.whereKey("to", equalTo: User.currentUser())
let finalQuery = PFQuery.orQueryWithSubqueries([acceptedQuery, pendingQuery])
.includeKey("from")
.includeKey("event")https://stackoverflow.com/questions/29335491
复制相似问题