我想执行一个查询,返回两个不同键的相同值的对象。我可以query.selectKeys(keys: [AnyObject])
,但我无法指定值。我不能做两个单独的query.whereKey(key, equalTo:)
因为两个约束充当AND运算符,而不是OR。
任何达到此目的的方法,或者我必须完全做两个单独的查询?
答案 0 :(得分:2)
可以基于PFQuery
将多个PFQuery
合并为一个OR
。这里可以看到一个简单的例子,我创建了一个名为ORQueries
的新表,并用一些虚拟数据填充它。每个对象都有一个foo
和一个bar
属性,其中包含一个整数。
func orQueryTheDummyData() {
let fooIsThreeQuery = PFQuery(className: "ORQueries").whereKey("foo", equalTo: 3)
let barIsFiveQuery = PFQuery(className: "ORQueries").whereKey("bar", equalTo: 5)
let combinedQuery = PFQuery.orQueryWithSubqueries([fooIsThreeQuery, barIsFiveQuery])
combinedQuery.findObjectsInBackgroundWithBlock { (result, error) -> Void in
println("result: \(result)")
}
}