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

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

如何正確使用 go-pg 執行 queryOne?

如何正確使用 go-pg 執行 queryOne?

Go
小唯快跑啊 2022-06-01 11:02:29
我想queryOne使用go-pg它只返回一行到一個對象而不是數組。這是我的簡單代碼:var reportMessage *ReportMessage    _, err := db.Model((*ReportMessage)(nil)).QueryOne(&reportMessage, `    SELECT         SUM(total_order) total_order,        SUM(total_message) total_message,        SUM(hsm_message) hsm_message ,        SUM(outbound_message) outbound_message ,        SUM(inbound_message) inbound_message ,        SUM(total_order_amount) total_order_amount         FROM report_message rm WHERE seller_id =? and "date" between ? and ?;    `, sellerID, dateStart, dateEnd)    if err != nil {        return nil, err    }    return reportMessage, niltype ReportMessage struct {    ID               string    `json:"id"`    SellerID         string    `json:"seller_id"`    TotalOrder       int       `json:"total_order"`    Date             time.Time `json:"date"`    HsmMessage       int       `json:"hsm_message"`    TotalMessage     int       `json:"total_message"`    OutboundMessage  int       `json:"outbound_message"`    InboundMessage   int       `json:"inbound_message"`    TotalOrderAmount float32   `json:"total_order_amount"`}我希望它只返回reportMessage 而不是一個數組。這是我的錯誤:json: cannot unmarshal number into Go value of type models.ReportMessage如何只查詢一行并將其返回給對象而不是數組?
查看完整描述

1 回答

?
千巷貓影

TA貢獻1829條經驗 獲得超7個贊

您需要初始化模型的一個實例并傳遞一個指向該實例的指針,而不是傳遞一個指向模型未初始化的 nil 指針的指針。


reportMessage := new(ReportMessage)

_, err := db.Model((*ReportMessage)(nil)).QueryOne(reportMessage, `

SELECT 

    SUM(total_order) total_order,

    SUM(total_message) total_message,

    SUM(hsm_message) hsm_message ,

    SUM(outbound_message) outbound_message ,

    SUM(inbound_message) inbound_message ,

    SUM(total_order_amount) total_order_amount 

    FROM report_message rm WHERE seller_id =? and "date" between ? and ?;


`, sellerID, dateStart, dateEnd)


if err != nil {

    return nil, err

}


return reportMessage, nil


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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