解析查询,其中两个键等于一个值

时间:2015-07-05 20:27:52

标签: ios swift parse-platform

我想执行一个查询,返回两个不同键的相同值的对象。我可以query.selectKeys(keys: [AnyObject]),但我无法指定值。我不能做两个单独的query.whereKey(key, equalTo:)因为两个约束充当AND运算符,而不是OR。

任何达到此目的的方法,或者我必须完全做两个单独的查询?

1 个答案:

答案 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)")
    }
}