iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > GO >如何使用 Gorm 将外键添加到模型中
  • 450
分享到

如何使用 Gorm 将外键添加到模型中

2024-04-04 23:04:57 450人浏览 安东尼
摘要

大家好,今天本人给大家带来文章《如何使用 GORM 将外键添加到模型中》,文中内容主要涉及到,如果你对golang方面的知识点感兴趣,那就请各位朋友继续看下去吧~希望能真正帮到你们,谢谢!问题内容我

大家好,今天本人给大家带来文章《如何使用 GORM 将外键添加到模型中》,文中内容主要涉及到,如果你对golang方面的知识点感兴趣,那就请各位朋友继续看下去吧~希望能真正帮到你们,谢谢!

问题内容

我正在尝试使用 Gorm 将外键添加到模型中。我应该如何将 user 模型的对象作为外键传递给 profile 模型?

我的main.go

package main

import (
    "fmt"

    "GitHub.com/jinzhu/gorm"
    _ "github.com/jinzhu/gorm/dialects/sqlite"
)

type User struct {
    gorm.Model
    Refer string
    Name  string
}

type Profile struct {
    gorm.Model
    Name      string
    User      User `gorm:"association_foreignkey:Refer"` // use Refer as association foreign key
    UserRefer string
}

func main() {
    db, err := gorm.Open("sqlite3", "test.db")
    if err != nil {
        panic("failed to connect database")
    }
    defer db.Close()

    // Migrate the schema
    db.AutoMigrate(&User{})
    db.AutoMigrate(&Profile{})

    // Create
    db.Create(&User{Name: "Clifton"})

    // Read
    var user User
    db.Debug().First(&user, 1)
    db.Debug().Create(&Profile{Name: "Clifton",
        UserRefer: "yyyyy"}).Association("User").Append(user)
    // db.Debug().Model(&user).Association("Refer").Append(user)
    var profile Profile
    db.Debug().Find(&profile, 1)
    fmt.Println(profile.Name, profile.UserRefer, profile.User.ID, profile.User.CreatedAt)

}


解决方案


问题的代码将在 user(id=1)profile(id = 1) 之间创建关联

您还可以使用 Association 附加外键值。

var user User
db.First(&user, 1) 
db.Model(&user).Association("Refer").Append(user)

本篇关于《如何使用 Gorm 将外键添加到模型中》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注编程网公众号!

您可能感兴趣的文档:

--结束END--

本文标题: 如何使用 Gorm 将外键添加到模型中

本文链接: https://www.lsjlt.com/news/596421.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何使用 Gorm 将外键添加到模型中
    大家好,今天本人给大家带来文章《如何使用 Gorm 将外键添加到模型中》,文中内容主要涉及到,如果你对Golang方面的知识点感兴趣,那就请各位朋友继续看下去吧~希望能真正帮到你们,谢谢!问题内容我...
    99+
    2024-04-04
  • navicat模型中如何添加外键
    在 navicat 中添加外键的步骤:选择外键列,并在 "外键" 选项卡中指定引用表、参照字段。设置删除和更新操作:cascade、set null、set default 或 rest...
    99+
    2024-04-24
    navicat
  • 如何将Sublime Text 3添加到右键中
    这篇文章主要介绍如何将Sublime Text 3添加到右键中,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!以下方法为转载:1.win+R打开cmd窗口,输入regedit,打开注册...
    99+
    2024-04-02
  • PostgreSQL中如何添加外键约束
    要在PostgreSQL中添加外键约束,可以按照以下步骤操作: 1、首先,在创建表时,确保在需要添加外键约束的列上定义约束,如下所示...
    99+
    2024-04-09
    PostgreSQL
  • 如何将javascript添加到HTML页面中
    随着Web应用程序的不断发展,JavaScript正变得越来越流行,它可以为网页和Web应用程序提供动态交互和更复杂的功能。本文将帮助你学习如何将JavaScript添加到HTML页面中。一、内部JavaScript内部JavaScript...
    99+
    2023-05-14
  • 如何将VISTA的加密功能添加到右键菜单上
    本篇内容主要讲解“如何将VISTA的加密功能添加到右键菜单上”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何将VISTA的加密功能添加到右键菜单上”吧!现在有很多朋友还不是很熟悉Windows...
    99+
    2023-06-14
  • Linux下如何将用户添加到sudoers
    这篇文章将为大家详细讲解有关Linux下如何将用户添加到sudoers,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。sudoers文件的作用是控制用户可以执行哪些指令,但是在Linux系统中没有将用户添加...
    99+
    2023-06-28
  • 如何使用ASP将JavaScript关键字加载到网页中?
    JavaScript是一种广泛使用的编程语言,可以用于网页开发、游戏开发、移动应用程序等多个领域。在网页开发中,JavaScript可以为网页增加许多交互性和动态性。本文将介绍如何使用ASP将JavaScript关键字加载到网页中。 AS...
    99+
    2023-06-05
    load 关键字 javascript
  • 如何使用 golang 将环境变量添加到 kubernetes 部署?
    php小编苹果为您带来一篇关于如何使用golang将环境变量添加到Kubernetes部署的文章。在Kubernetes部署中,环境变量的设置非常重要,可以帮助我们配置应用程序的行为。...
    99+
    2024-02-09
  • Linux中的ASP教程:如何将ASP添加到PATH中?
    ASP(Active Server Pages)是一种用于构建动态Web页面的服务器端脚本语言,它可以在Windows平台上运行,但是在Linux平台上使用ASP需要进行特定的配置。在本篇文章中,我们将介绍如何将ASP添加到Linux系统...
    99+
    2023-09-12
    教程 path linux
  • python如何使用Colorama将颜色添加到控制台输出
    这篇文章给大家分享的是有关python如何使用Colorama将颜色添加到控制台输出的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。使用Colorama将颜色添加到控制台输出Colorama是一个漂亮的跨平台模块,...
    99+
    2023-06-27
  • 如何将文本添加到 Go Present 的小节中?
    Golang不知道大家是否熟悉?今天我将给大家介绍《如何将文本添加到 Go Present 的小节中?》,这篇文章主要会讲到等等知识点,如果你在看完本篇文章后,有更好的建议或者发现哪里有问题,希望大...
    99+
    2024-04-05
  • 在Linux系统中 如何将目录添加到$ PATH
    这篇文章给大家介绍在Linux系统中 如何将目录添加到$ PATH,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。PATH故名思意就是设备可执行文件的搜索路径,在Linux系统中在我们键入命令时,sehll程序会在用户P...
    99+
    2023-06-28
  • MYSQL中如何使用外键
    本篇文章给大家分享的是有关MYSQL中如何使用外键,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。外键的使用条件: 1.两个表必须是I...
    99+
    2024-04-02
  • PaddlePaddle中如何将模型部署到生产环境中
    在PaddlePaddle中,将模型部署到生产环境中通常需要经过以下步骤: 预训练模型:首先需要在训练数据集上训练好模型,并保存...
    99+
    2024-04-02
  • 如何使用Chrome扩展将YouTube播放器控件添加到Linux桌面
    这篇文章主要介绍如何使用Chrome扩展将YouTube播放器控件添加到Linux桌面,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一个我怀念的 Unity 功能(虽然只使用了一小段时间)是在 Web 浏览器中访问 ...
    99+
    2023-06-16
  • 你是否知道如何将JavaScript文件添加到Java PATH中?
    JavaScript是一种广泛应用于网页开发的脚本语言,而Java则是一种跨平台的编程语言,两者在开发过程中会经常结合使用。但是,有时候我们需要在Java程序中调用JavaScript文件,这就需要将JavaScript文件添加到Java...
    99+
    2023-08-23
    path javascript 文件
  • 如何使用 Go 将背景图像添加到 X11/Wayland 的多个屏幕?
    php小编香蕉将为您介绍如何使用Go语言将背景图像添加到X11/Wayland的多个屏幕。在多屏幕环境下,为每个屏幕设置不同的背景图像可以提升用户体验。本文将详细讲解Go语言中如何使用...
    99+
    2024-02-13
    go语言
  • 如何使用VBS添加右键计算文件MD5
    这篇文章主要介绍如何使用VBS添加右键计算文件MD5,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!最近相关的备份比较频繁,为了校验文件的完整性,老是要打开某文件HASH校验工具,比较麻烦,于是乎写了这个东东,文件较大...
    99+
    2023-06-08
  • 如何使用泛型为golang添加新特性
    go 中泛型允许创建适用于多种数据类型的代码。语法为 type name[t any] struct { ... },其中 t 为泛型参数。使用 func copyslice[t any...
    99+
    2024-05-02
    golang 泛型
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作