问题标签 [go-gorm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
orm - Gorm Golang fetching a collection and its relationships
I recently started using Golang and decided to give GORM a try as an ORM. It works pretty well on most things, but as most ORMs are sometimes it's limited. Luckily it ties very well into database/sql so I can do custom queries easily.
I'm wondering if there is any other way to do this in gorm: I have a struct Companies, Companies have one to many relationships w/ emails, addresses, and phones. I use the following code in gorm to pull a list of companies and their corresponding info. I use gorm's Preload function.
This works perfectly fine. However I feel like there is another way to accomplish this without the Preload function. Any ideas?
go - 如何使用 GORM 在 GO 中预加载完整的层次结构
我有一个由几个结构组成的层次结构
我的数据库创建是这样定义的:
一切都很清楚,并且可以很好地预加载这样的层次结构的一个“子级别”:
或者
我正在寻找一种使用 GORM 预加载整个层次结构的方法,在一个根元素上调用“First()”方法......我想加载一个“条目”及其所有相关的“字段”,我也想要让每个“字段”都预装其所有“装饰器”......
使用几个“Preload()”函数是不可行的:
我理解iDB.Preload("child1").Preload("child2").First(root)
当 child1 和 child2 都是根的“叶子”时“”有效。
所以我的问题是:是否可以使用 gorm 执行此操作,如果可以,递归加载完整层次结构的最佳方法是什么?
谢谢。问候
error-handling - 如何检测gorm中的连接失败?
我正在使用gorm ORM编写一个小型、简单的网络应用程序。
由于数据库可能会独立于 Web 应用程序而失败,因此我希望能够识别与这种情况相对应的错误,以便我可以在不重新启动 Web 应用程序的情况下重新连接到我的数据库。
激励例子:
考虑以下代码:
如果发生这种情况
db.Error != nil
,我如何以编程方式确定错误是否源于数据库连接问题?根据我的阅读,我知道这
gorm.DB
并不gorm.Open
代表连接,所以如果数据库连接失败,我什至必须担心重新连接或重新发出调用?在 Go 中是否有处理数据库故障的常见模式?
postgresql - 为什么我的数据库列的值总是 0?
我正在使用 go-gorm 从 PostgreSQL 数据库中获取值。相关代码如下所示:
当我将 UUID 字符串传递给 时getChip
,将返回正确的行并且所有值都是正确的,但c.Pack_ID
始终是0
. 顺便说一句,从来没有哪一行Pack_ID
是0
。
这是 pgAdminIII 的屏幕截图,我希望能对这个问题有所了解:
关于可能出现什么问题的任何想法?我完全不知所措,在这里...
orm - Gorm Golang orm 关联
我将 Go 与GORM ORM一起使用。我有以下结构。关系很简单。一个城镇有多个地方,一个地方属于一个城镇。
现在我想查询所有地方,并与他们的所有字段一起了解相应城镇的信息。这是我的代码:
我的示例数据库有这些数据:
我收到这个:
[{1 Place1 {0 }} {2 Mares Place2 {0 }}]
但我期待收到这样的东西(两个地方属于同一个城镇):
[{1 Place1 {1 Town1}} {2 Mares Place2 {1 Town1}}]
我该怎么做这样的查询?我尝试使用Preloads
但Related
没有成功(可能是错误的方式)。我无法得到预期的结果。
go - GORM Golang如何优化这段代码
我在我的项目中使用 GORM,我想创建类似数据库管理页面的东西。
要加载记录,我发送带有参数的 GET:
在服务器上,我有下一个代码:
是否可以替换switch
,因为我有 10 个表,并且在记录编辑后我将新数据发送到服务器,我被迫switch
在其他功能中使用来保存它。
go - 如何使用 GORM 检查 CRUD 操作中的错误?
GORM的官方文档展示了一种可以测试记录是否存在的方法,即:
这可用于间接测试记录创建中的错误,但在发生故障时不会报告有用的信息。
在检查了源代码db.Create
之后,似乎有某种堆栈帧检查可以在继续之前检查错误,这意味着事务错误将静默失败:
- 这是一个错误,还是我错过了什么?
- 我如何/应该被告知交易失败?
- 我在哪里可以获得有用的调试信息?
go - 如何为 Gorm 指定具有多列唯一索引的结构?
如何定义我struct
的 s 以在 Go 中为 Gorm 指定多列唯一索引?
如: