1 回答

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超9個(gè)贊
Query.Filter()如果參數(shù)存在,則可以選擇在查詢上調(diào)用另一個(gè)方法。請(qǐng)確保您存儲(chǔ)返回值,因?yàn)樗赡苁且粋€(gè)不同的派生查詢。
原因是所有查詢構(gòu)建器/修飾符方法都返回一個(gè)派生查詢,您可以使用它來鏈接多個(gè)操作。不過,您不必一步完成所有操作,您可以存儲(chǔ)中間結(jié)果查詢并從那里繼續(xù)“工作”(例如添加新過濾器)。請(qǐng)記住始終存儲(chǔ)返回值,并且必須使用Query最后一個(gè)方法返回的值。
解決方案(候選人):
q := datastore.NewQuery("book").Filter("author =", "DB")
if title != nil {
q = q.Filter("title =", title)
}
q = q.Order("author")
筆記:
你沒有提到它,但我認(rèn)為title是一個(gè)string. 類型變量string不能有nil值。a 的零值string是空字符串,""因此使用它來比較/測(cè)試:
q := datastore.NewQuery("book").Filter("author =", "DB")
if title != "" {
q = q.Filter("title =", title)
}
q = q.Order("author")
- 1 回答
- 0 關(guān)注
- 203 瀏覽
添加回答
舉報(bào)