问题标签 [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.

0 投票
1 回答
5821 浏览

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?

0 投票
2 回答
18756 浏览

go - 如何使用 GORM 在 GO 中预加载完整的层次结构

我有一个由几个结构组成的层次结构

我的数据库创建是这样定义的:

一切都很清楚,并且可以很好地预加载这样的层次结构的一个“子级别”:

或者

我正在寻找一种使用 GORM 预加载整个层次结构的方法,在一个根元素上调用“First()”方法......我想加载一个“条目”及其所有相关的“字段”,我也想要让每个“字段”都预装其所有“装饰器”......

使用几个“Preload()”函数是不可行的:

我理解iDB.Preload("child1").Preload("child2").First(root)当 child1 和 child2 都是根的“叶子”时“”有效。

所以我的问题是:是否可以使用 gorm 执行此操作,如果可以,递归加载完整层次结构的最佳方法是什么?

谢谢。问候

0 投票
1 回答
3657 浏览

error-handling - 如何检测gorm中的连接失败?

我正在使用gorm ORM编写一个小型、简单的网络应用程序。

由于数据库可能会独立于 Web 应用程序而失败,因此我希望能够识别与这种情况相对应的错误,以便我可以在不重新启动 Web 应用程序的情况下重新连接到我的数据库。

激励例子:

考虑以下代码:

  1. 如果发生这种情况db.Error != nil,我如何以编程方式确定错误是否源于数据库连接问题?

  2. 根据我的阅读,我知道这gorm.DB 并不gorm.Open代表连接,所以如果数据库连接失败,我什至必须担心重新连接或重新发出调用?

  3. 在 Go 中是否有处理数据库故障的常见模式?

0 投票
1 回答
359 浏览

postgresql - 为什么我的数据库列的值总是 0?

我正在使用 go-gorm 从 PostgreSQL 数据库中获取值。相关代码如下所示:

当我将 UUID 字符串传递给 时getChip,将返回正确的行并且所有值都是正确的,c.Pack_ID始终是0. 顺便说一句,从来没有哪一行Pack_ID0

这是 pgAdminIII 的屏幕截图,我希望能对这个问题有所了解:

在此处输入图像描述

关于可能出现什么问题的任何想法?我完全不知所措,在这里...

0 投票
6 回答
37341 浏览

orm - Gorm Golang orm 关联

我将 Go 与GORM ORM一起使用。我有以下结构。关系很简单。一个城镇有多个地方,一个地方属于一个城镇。

现在我想查询所有地方,并与他们的所有字段一起了解相应城镇的信息。这是我的代码:

我的示例数据库有这些数据:

收到这个:

[{1 Place1 {0 }} {2 Mares Place2 {0 }}]

但我期待收到这样的东西(两个地方属于同一个城镇):

[{1 Place1 {1 Town1}} {2 Mares Place2 {1 Town1}}]

我该怎么做这样的查询?我尝试使用PreloadsRelated没有成功(可能是错误的方式)。我无法得到预期的结果。

0 投票
1 回答
1970 浏览

json - 在 Go 中为导入的结构设置标签

我正在使用gorm ( g o orm ) 从我的数据库中检索将以 JSON 编码的数据。Gorm 为主键和时间跟踪提供了默认结构,其 DeletedAt 属性不应以 JSON 编码。

我写了一个小例子,它输出密码,但 DeletedAt 属性仍然可见。

如果我运行我的脚本,这是我得到的输出:

我修改了Alfred Rossi 的例子来模仿这种行为,我得到了相同的结果。

0 投票
1 回答
836 浏览

go - GORM Golang如何优化这段代码

我在我的项目中使用 GORM,我想创建类似数据库管理页面的东西。

要加载记录,我发送带有参数的 GET:

在服务器上,我有下一个代码:

是否可以替换switch,因为我有 10 个表,并且在记录编辑后我将新数据发送到服务器,我被迫switch在其他功能中使用来保存它。

0 投票
1 回答
3122 浏览

database - 在 GORM 中按日期过滤

我正在使用GORM访问我的数据库中的记录。现在我想检索所有未删除的记录,这意味着属性 DeletedAt 必须为 NULL。

我尝试了以下命令链WHERE(),但没有返回任何结果。

我的数据库模型由以下结构定义:

0 投票
3 回答
12570 浏览

go - 如何使用 GORM 检查 CRUD 操作中的错误?

GORM的官方文档展示了一种可以测试记录是否存在的方法,即:

这可用于间接测试记录创建中的错误,但在发生故障时不会报告有用的信息。

在检查了源代码db.Create之后,似乎有某种堆栈帧检查可以在继续之前检查错误,这意味着事务错误将静默失败:

  • 这是一个错误,还是我错过了什么?
  • 我如何/应该被告知交易失败?
  • 我在哪里可以获得有用的调试信息?
0 投票
4 回答
7608 浏览

go - 如何为 Gorm 指定具有多列唯一索引的结构?

如何定义我struct的 s 以在 Go 中为 Gorm 指定多列唯一索引?

如: