go-gorm相关内容

如何使用 GORM 创建或更新记录?

Gorm 有一个 FirstOrCreate 方法和一个 FirstOrInit 但是之后如何检查记录是否实际创建?我喜欢创建一个记录,如果它不存在,如果存在我想更新一些字段. 解决方案 update 2020.10.09 感谢@vaelin 从 1.20.x 开始,GORM 为不同的数据库提供兼容的 Upsert 支持(Upsert-关于冲突) //在 `id` 冲突时将列 ..
发布时间:2022-01-01 17:55:06 其他开发

Gorm Golang orm 协会

我将 Go 与 GORM ORM 一起使用.我有以下结构.关系很简单.一个镇有多个地方,一个地方属于一个镇. type Place struct {身份证号码名称字符串镇镇}类型城镇结构{身份证号码名称字符串} 现在我想查询所有地方并与他们的所有领域相处相应城镇的信息.这是我的代码: db, _ := gorm.Open("sqlite3", "./data.db")推迟 db.Close( ..
发布时间:2022-01-01 17:46:37 其他开发

Gorm 关系错误:需要为关系定义一个有效的外键或需要实现 Valuer/Scanner 接口

我正在解决使用 Gorm 时刚刚出现的问题.我的 sqlite3 数据库和 Go 数据模型一切正常,但是当我在构建环境中遇到一些依赖关系问题而不是“go get"时,所以我尝试从供应商文件夹中复制/删除一些包,重新“go"直到我开始构建工作......但是现在当我在自己的机器上编译和运行时,我遇到了以前从未遇到过的问题. 当我尝试这样的操作时(已经检查了 configID 以确保它有一个有效 ..
发布时间:2021-08-23 19:45:15 数据库

如何根据父列有条件地预加载子级?

我可以使用以下语法预加载与 Order 相关的所有 Guests : 表(顺序).预加载(“来宾").Where("order.code =?",orderCode).第一(和顺序).错误 是否可以根据 Order 表中一列的条件来预加载 Guests ?这是我要实现的SQL: SELECT * FROM订单WHERE代码="xyz"SELECT * FROM guest where W ..
发布时间:2021-05-11 20:08:22 其他开发

go-gorm如何用额外的列来表达many2many

我要在GORM中表达以下表格: CREATE TABLE索引(id整数主键,名称VARCHAR)创建表服务(id整数主键,名称VARCHAR)创建表index_service(index_id整数参考索引(id),service_id整数参考服务(id),write_active INTEGER,主键(index_id,service_id)) 在阅读了文档和关于堆栈溢出的问题之后.我仍然 ..
发布时间:2021-05-11 20:08:19 其他开发

Postgres无限自我加入

所以我有一篇文章,并对文章进行“评论". 评论允许人们回复..您可以回复回复..依此类推,这意味着最深的树的根是N 快速模拟表的外观 评论(id,news_id,user_id,正文,喜欢)Replies(id,parent_id)->id在这里= = Comments.id用户名(用户名,用户名,密码)新闻(id,标题,正文,图片) 有没有一种方法可以查询Postgres数据库 ..
发布时间:2021-05-11 20:05:27 其他开发

在Golang gorm中定义关联模型

我在RestFul服务中使用golang gorm,但是,我现在怀疑这可能很简单,但是我找不到任何示例或特定文档,这对我来说并不明确. 比方说,我有表用户和语言,任何用户都可以有多种语言,任何语言都可以有许多用户,在这种情况下,对于关系数据库建模理论,我们必须创建一个表users_languages,并检查gorm,我看到了我将不得不使用多对多关系. 现在,我有了定义用户和语言表的结构 ..
发布时间:2021-05-11 20:04:15 其他开发

Many2Many JoinTable中的自定义字段

我有一个带有自定义JoinTable的模型: type Person struct {ID int名称字符串地址[]地址`gorm:"many2many:person_addresses;"`}输入地址struct {ID uint名称字符串}输入PersonAddress struct {PersonID intAddressID int家用布尔CreatedAt time.TimeDele ..
发布时间:2021-05-11 20:02:57 数据库

更新方法不更新零值

原始问题 在GORM中使用 Update 方法时,不会保存新数据.即我想将 bool 从 true 设置为 false ,但是即使在 Update 方法之后,它仍然保持为true. 在该方法的说明中有一个警告:“警告,当用struct更新时,GORM不会更新值为零的字段" 由于我使用结构进行更新并且 false 是 bool 的零值,因此这似乎是预期的行为,但是我看不出为什么要这 ..
发布时间:2021-05-11 20:01:28 其他开发

Gorm-与匿名字段有一种关系

我使用Golang和GORM.我有一个 User 结构,其中有一个 Association . type用户结构{ID int...}类型Association struct {ID intUserID int} 我还有一个 AssoUser 结构,该结构由一个匿名字段 User 组成,并具有指向 Assocation 的指针. type AssoUser struct {用户协会*协 ..
发布时间:2021-05-11 20:00:15 其他开发

如何以SELECT * FROM(< subquery>)ORDER BY列的形式构造子查询?

我正在使用gorm与Postgres数据库进行交互.我正在尝试通过使用DISTINCT ON和此问题的查询来排序记录了这样做并非易事.因此,我需要以 形式进行查询 SELECT * FROM()ORDER BY列; 乍一看,看来我需要使用 db.QueryExpr()将我拥有的查询转换为表达式并围绕它构建另一个查询.但是,似乎gorm没有直接指定FROM子句的简单方 ..
发布时间:2021-05-11 19:59:25 其他开发

为什么GORM无法生成外键?

我正在尝试在 Password 表上创建一个外键,该外键必须指向 User 表内的 id 列.但是,当我尝试以下操作时,它不起作用.外键不会生成.只需在 password 表内添加列名 user_id . 程序包架构进口 ("github.com/jinzhu/gorm"_"github.com/jinzhu/gorm/dialects/mysql")键入User struct {gorm.Mo ..
发布时间:2021-05-11 19:59:18 数据库

包含属性的Upsert已更新

我想使用 gorm 作为ORM将一些脚本回填数据从旧数据库复制到新数据库,并且我想使用 FirstOrCreate 进行增补,如下所示使用的属性和查询: 用户{ID:某人,名称:...CreatedAt:time.Time,UpdatedAt:2020-03-24 17:57:00,}err = db.Where(user {ID:someid}).Assign(user).FirstOrCre ..
发布时间:2021-05-11 19:56:04 数据库

带有gorm的自动预加载无法正常工作

我正在尝试自动预加载模型,但是这样做很困难. 这些是我正在使用的模型: 程序包域键入User struct {gorm.Model名称字符串汽车汽车`gorm:"auto_preload"`帐户帐户`gorm:"auto_preload"`}键入Car struct {gorm.Model键入int用户ID uint}输入Account struct {gorm.Model功率级整数用户I ..
发布时间:2021-05-11 19:55:23 其他开发

使用Gorm以0值更新

我正在尝试使用gorm库更新某些值,但不会更新具有0值的字节和整数 var处理模型.TreatmentDBerr = json.Unmarshal(b,& treatment)如果err!= nil {http.Error(w,err.Error(),500)返回}fmt.Println(&治疗)db:= db.DB.Table("treatment").Where("id =?",nID). ..
发布时间:2021-05-11 19:53:01 数据库

GORM中的多对多关系

我在 GO 中有这样的 struct 定义 程序包模型//StoryStatus指示故事的当前状态输入StoryStatus字符串const(//进度表明当前正在编写一个故事Progress StoryStatus =“进度"//已完成表示故事已完成已完成的StoryStatus =“已完成")//故事中包含故事的细节输入Story struct {ID int标题字符串`gorm:"type: ..
发布时间:2021-05-11 19:51:29 数据库