亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Golang SQLBoiler 在運行訂單時不返回任何內容

Golang SQLBoiler 在運行訂單時不返回任何內容

Go
眼眸繁星 2022-09-19 10:07:40
我在Go上使用SqlBoiler向PostgreSQL數據庫發送請求,但是當嘗試按其中一個字段對數據庫進行排序時,它返回0行。首先,我運行一個計數(如下所述),如果計數返回多于或等于一行,那么我查詢數據庫中的所有結果。這將返回正確的行計數:res, _ := models.MT(        Where("(mt_mas = ? or mt_mem like ?) and mt_group = ?", uint(uid), `%"`+strconv.Itoa(uid)+`"%`, bool(mt_group_bool)),    ).Count(CTX, DB)這將不返回任何行,盡管查詢參數完全相同:res, _ := models.MT(        Where("(mt_mas = ? or mt_mem like ?) and mt_group = ?", uint(uid), `%"`+strconv.Itoa(uid)+`"%`, bool(mt_group_bool)),        OrderBy(`mt_mas`),    ).Count(CTX, DB)這是我在檢查行計數后獲取所有行的方式:res, err := models.MT(        Where("(mt_mas = ? or mt_mem like ?) and mt_group = ?", uint(uid), `%"`+strconv.Itoa(uid)+`"%`, bool(mt_group_bool)),        OrderBy(`mt_mas`),    ).All(CTX, DB)從上面的請求中讀取錯誤時,它會打印出來,一切似乎都很好。<nil>如前所述,數據庫是(版本 13.3),列如下所示:mt_mas(整數)此列保存此行所有者的 uid。mt_mem(字符變化 [1000])此列包含用戶成員 uid:s 的 JSON 列表。mt_group(布爾值)此列顯示此行是一組不。數據庫行示例:|mt_mas |mt_mem |mt_group | |:----: |:----: |:------: | |1 |{“1”, “2”} |假|
查看完整描述

1 回答

?
交互式愛情

TA貢獻1712條經驗 獲得超3個贊

好的,解決方案比預期的要簡單。@Gari辛格(https://stackoverflow.com/users/5529712/gari-singh)實際上在上面的評論中指出了這一點,但我想我會在這里寫出來,這樣問題就解決了。


解決方案是干脆不對計算結果的查詢進行排序。因此,用于計數的正確代碼應僅為:


res, _ := models.MT(

        Where("(mt_mas = ? or mt_mem like ?) and mt_group = ?", uint(uid), `%"`+strconv.Itoa(uid)+`"%`, bool(mt_group_bool)),

    ).Count(CTX, DB)

然后運行查詢以獲取具有順序的實際行,如下所示:


res, err := models.MT(

        Where("(mt_mas = ? or mt_mem like ?) and mt_group = ?", uint(uid), `%"`+strconv.Itoa(uid)+`"%`, bool(mt_group_bool)),

        OrderBy("mt_mas"),

    ).All(CTX, DB)

感謝您的幫助!:)


查看完整回答
反對 回復 2022-09-19
  • 1 回答
  • 0 關注
  • 91 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號