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

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

在 GORM GO / GOLANG 中使用運算符 IN

在 GORM GO / GOLANG 中使用運算符 IN

Go
一只斗牛犬 2022-07-11 10:41:18
我正在嘗試在 GORM 中執行下一個查詢。SELECT * FROM PAINTINGS WHERE in_stock IN (TRUE, FALSE)*in_stock 是布爾值。我知道只有兩種類型,但我需要根據用戶是否選中兩個框進行過濾。在這種情況下,用戶檢查了第一個而不是第二個。我在文檔(https://gorm.io/docs/query.html conditions/string conditions/IN)中找到了一種方法:GetDB().Where("in_stock IN ?", []bool{true, false}).Find(&paintings)...但它不檢索信息。結果顯示一個空數組。還有另一種方法可以在 GORM 中使用“IN”嗎?附加信息:去 1.15.2數據庫mysql
查看完整描述

2 回答

?
白豬掌柜的

TA貢獻1893條經驗 獲得超10個贊

所以,我找到了在 gorm-GO 中使用 IN 的方法。

它只需要在沒有 args 作為接口的情況下執行 where。所以我只是執行了嵌入輸入參數的查詢界面并刪除了“?”

這是代碼:

s := "in_stock IN (true, false)"
GetDB().Where(s).Find(&paintings)

*我認為這不是一個好習慣,但它確實有效。


查看完整回答
反對 回復 2022-07-11
?
守候你守候我

TA貢獻1802條經驗 獲得超10個贊

我知道這是一個老問題,但我一直在嘗試同樣的事情,我認為最好的做法Where("in_stock in(?)", []bool{true, false})是Where("in_stock IN ?", []bool{true, false})


另一個例子 :


func (d *DBAccess) GetRefOrderList(status []int8) (refOrders []models.RefOrders, err error) {


err = d.Table("ref_orders").Where("status in (?)",status).

    Find(&refOrders).Error


return

}


查看完整回答
反對 回復 2022-07-11
  • 2 回答
  • 0 關注
  • 557 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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