go - 在 GORM GO / GOLANG 中使用运算符 IN
问题描述
我正在尝试在 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
解决方案
所以,我找到了在 gorm-GO 中使用 IN 的方法。
它只需要在没有 args 作为接口的情况下执行 where。所以我只是执行了嵌入输入参数的查询界面并删除了“?”
这是代码:
s := "in_stock IN (true, false)"
GetDB().Where(s).Find(&paintings)
*我认为这不是一个好习惯,但它确实有效。
推荐阅读
- powerbi - 如何根据使用 power bi DAX 公式提交的日期中的数字分配 1 st、2 nd、3 rd 等?
- python - 我想将 urdu 抓取数据保存到 csv 文件中,但是当我打开文件时,文件格式不可读
- angular - daterangepicker.component.d.ts:错误无法在环境上下文中声明访问器
- vue.js - 带有子项的 Vuejs 侧边栏菜单
- ios - 使用会话管理器时如何查看访问令牌?
- google-colaboratory - 无法使用 colaboratory 在 mmdetection 中编译 nms_cuda
- bash - 如果登录多个终端,如何检查特定用户的最低空闲时间?
- java - 如何建立连接并且在经过一段时间后不关闭它
- php - MySQL 服务器已消失 #2006 - Azure 服务器和使用 PHP
- php - 如何验证 WooCommerce 结帐表格