2016-11-30 82 views
2

我想運行一個解析查詢,其中某個字段包含今天的日期或未來的日期。這裏是我到目前爲止的代碼:解析查詢,其中包含A或B鍵 - 斯威夫特

var date = Date() // first date 
    let calendar = Calendar.current 
    let date2 = (calendar as NSCalendar).date(byAdding: .day, value: 7, to: date, options: [])! 
    let dateFormatter:DateFormatter = DateFormatter() 
    dateFormatter.dateFormat = "yyyy-MM-dd" 
    let todaysString:String = dateFormatter.string(from: date) 
    let tomorrowString:String = dateFormatter.string(from: date2) 

    let query = PFQuery(className: "Events") 
    query.whereKey("dateString", contains: todaysString || tomorrowString) 

但是由於它無法轉換值,因此無法運行。有誰知道我是如何編寫這一行來顯示dateString需要包含todaysString或tomorrowString?提前致謝。

+0

您需要爲tomorrowString創建兩個單獨的查詢,Q1for todaysString和Q2。現在在一個數組中添加兩個查詢。然後使用PFQuer方法「orQueryWithSubqueries」將它們合併到第3個查詢Q3中,然後執行第3個查詢Q3。 我已經在目標c中使用了它,併爲我工作,如果需要,我可以發佈目標c代碼。 –

回答

0

您需要創建單獨的查詢,並將它們與PFQuery.orQueryWithSubqueries(todayQuery, tomorrowQuery)結合使用。

0

您需要爲tomorrowString創建兩個單獨的查詢Q1 for todaysString和Q2。現在在一個數組中添加兩個查詢。然後使用PFQuery的函數「orQueryWithSubqueries」將它們合併到第3個查詢Q3中,然後執行第3個查詢Q3。我已經在目標c中使用了它,並且爲我工作,如果需要,我可以發佈目標c代碼。