在使用 Gorm 进行 Postgres 数据库查询时,有时会遇到一个常见的问题:“从 Gorm 传入查询的 Postgres 数据类型不正确”。这个问题可能会导致查询结果不准确,给开发者带来困扰。在本文中,php小编鱼仔将为您解析这个问题的原因,并提供解决方案,帮助您正确处理数据类型,确保查询结果的准确性。,我正在尝试在 api 中创建一个端点来创建公司。在公司模型中,我有一个 []string
用于存储与允许用户注册的电子邮件相关的允许列出的域。,[]字符串最初是从数组的 json post 请求映射的,并在 postgres 中分配了 text[] 类型。,使用 create()
的完整模型,在实现这个过程中,我遇到了两个问题。,首先,当 alloweddomains
包含单个字符串时,该值不会作为数组写入 postgres,而是作为单个字符串写入。,其次,当 json 数组包含 > 1 值时,写入数据库的类型为 record
类型,而不是 text[]
,当我设置断点并在序列化后分析 company
类型时,很明显 alloweddomains
的类型是正确的。,我在这里缺少什么想法或者解决这个问题的最佳方法吗?,根据 mkopriva 的评论,解决方案是使用 pq
包,如下所示。,