gorm 自动生成的模型,数据库数据类型时 date,模型生成的类型时 timt.Time,生成的查询变成了 datetime 格式的,怎么设置能查询正确?

2023-11-07 17:54:52 +08:00
 dyllen

模型时 gorm 的 gen 工具自动生成的:

Date      time.Time `gorm:"column:date;type:date;not null;comment:日期" json:"date"`

生成的查询

`date` = '2023-11-07 08:00:00' LIMIT 1

要怎么设置才能生成日期格式时2023-11-07的正确查询?

1016 次点击
所在节点    Go 编程语言
4 条回复
gouguoyin
2023-11-07 18:18:28 +08:00
你可以试试 https://github.com/golang-module/carbon#json-handling
将 `Date` 类型设置为 `carbon.Date`
pkoukk
2023-11-07 18:23:07 +08:00
dsn 里加上 parseTime=True&loc=Local
body007
2023-11-08 10:38:27 +08:00
直接用字符串呗,不一定非要传 time.Time 对象吧。

db.Debug().Model(&Data{}).Where("date = ?", time.Now().Format(time.DateOnly)).Limit(5).Find(&data)
dyllen
2023-11-08 15:42:37 +08:00
@body007 之前用的自动生成查询的方法,参数得传 time.Time 对象,我另外写了一个,用字符串,和你一样的了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/989612

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX