iis服务器助手广告
返回顶部
首页 > 资讯 > 精选 >GORM:使用相同的外键定义多个列
  • 617
分享到

GORM:使用相同的外键定义多个列

2024-02-13 13:02:52 617人浏览 泡泡鱼
摘要

PHP小编百草今天为大家带来一个有关GORM的问题:如何在GoRM中使用相同的外键定义多个列?在数据库设计中,有时我们需要在多个表中使用相同的外键列,这就需要我们在GORM中进行合适的

PHP小编百草今天为大家带来一个有关GORM的问题:如何在GoRM中使用相同的外键定义多个列?在数据库设计中,有时我们需要在多个表中使用相同的外键列,这就需要我们在GORM中进行合适的定义和配置。接下来,我们将详细介绍如何在GORM中实现这一需求,以及相关的注意事项。让我们一起来探索这个有趣的话题吧!

问题内容

我正在创建一个使用 GORM 的 golang Mysql 项目。我有一个名为accounts 的表,其中包含字段

ID        uint      `JSON:"id" gorm:"primary_key;auto_increment;not_null"`
    Name      string    `json:"name"`
    Company   string    `json:"company"`
    GSTIN     string    `json:"gstin"`
    AccountNo string    `json:"accountNo" gorm:"unique"`
    IFSC      string    `json:"ifsc"`
    CreatedAt time.Time `json:"createdAt"`
    UpdatedAt time.Time `json:"updatedAt"`

现在我想制作一个名为带有字段的交易的表

ID            uint      `json:"id" gorm:"primary_key;auto_increment;not_null"`
    Amount        float64   `json:"amount"`
    CreatedAt     time.Time `json:"createdAt"`
    UpdatedAt     time.Time `json:"updatedAt"`
    Date          time.Time `json:"Date"`
    PaymentMode   string    `json:"paymentMode"`
    SourceId      uint      `json:"source"`   ------>>>>> Want this to be AccountID foreign key
    UTR           string    `json:"utr" gorm:"uniqueIndex"`
    DestinationId uint      `json:"to"`       ------>>>>> Want this to be AccountID foreign key
    Account       Account

我不知道如何在 go Gorm 中定义它?我可以有两个带有外键的字段到另一个表的同一列吗?如何做到这一点?

解决方法

是用这个做的吗?谢谢!

type Debit struct {
    ID                 uint      `json:"id" gorm:"primary_key;auto_increment;not_null"`
    Amount             float64   `json:"amount"`
    CreatedAt          time.Time `json:"createdAt"`
    UpdatedAt          time.Time `json:"updatedAt"`
    PaymentMode        string    `json:"paymentMode"`
    SourceId           uint      `json:"sourceId"`
    UTR                string    `json:"utr" gorm:"uniqueIndex"`
    DestinationId      uint      `json:"destinationId"`
    SourceAccount      Account   `gorm:"foreignKey:SourceId"`
    DestinationAccount Account   `gorm:"foreignKey:DestinationId"`
}

以上就是GORM:使用相同的外键定义多个列的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: GORM:使用相同的外键定义多个列

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

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

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

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

下载Word文档
猜你喜欢
  • GORM:使用相同的外键定义多个列
    php小编百草今天为大家带来一个有关GORM的问题:如何在GORM中使用相同的外键定义多个列?在数据库设计中,有时我们需要在多个表中使用相同的外键列,这就需要我们在GORM中进行合适的...
    99+
    2024-02-13
  • GORM 使用自定义列配置多对多
    在PHP开发中,数据库操作是不可避免的一部分。而对于数据库操作框架GORM来说,它的灵活性和强大功能一直备受开发者们的青睐。在多对多关系的处理上,GORM提供了自定义列配置的功能,让开...
    99+
    2024-02-13
  • 怎么使用django+celery+RabbitMQ自定义多个消息队列
    本篇内容主要讲解“怎么使用django+celery+RabbitMQ自定义多个消息队列”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用django+celery+RabbitMQ自定义多...
    99+
    2023-07-05
  • Python列表的定义及使用
    目录1、定义和使用列表1.1 定义列表1.2 访问列表中的值1.3 列表的运算符1.4 列表元素的遍历2、列表的方法2.1 添加和删除元素2.2 元素位置和次数2.3 元素...
    99+
    2024-04-02
  • django+celery+RabbitMQ自定义多个消息队列的实现
    关于django celery的使用网上有很多文章,本文就不多做更多的说明。 本文使用版本 python==3.8.15Django==3.2.4celery==5.2.7 cele...
    99+
    2023-02-22
    django celery RabbitMQ消息队列 django celery 消息队列
  • 微信小程序自定义多列选择器使用
    本文实例为大家分享了微信小程序自定义多列选择器的具体代码,供大家参考,具体内容如下 项目需要,需要实现一个多列选择器,在用户确定之前,无论列表如何转,都不会影响已确定值的显示,只要用...
    99+
    2024-04-02
  • 使用自定义参数解析器同一个参数支持多种Content-Type
    目录一堆废话探究Springmvc参数解析器工作流程不想看废话的可以直接进结果补充一堆废话 事出有因, 原先上线的接口现在被要求用Java重写,按照原暴露出去的文档然后毫无疑问的,按...
    99+
    2024-04-02
  • java自定义序列化的具体使用
    目录1.问题引出 2.解决办法 3.另外一种自定义序列化机制(介绍Externalizable) 1.问题引出 在某些情况下,我们可能不想对于一个对象的所有field进行序列化,例...
    99+
    2024-04-02
  • 如何解决MySQL报错:错误的表定义;只能有一个自动列,并且必须定义为键
    MySQL报错“错误的表定义;只能有一个自动列,并且必须定义为键”通常是由于表定义中存在多个自动列或者没有将自动列定义为键引起的。要...
    99+
    2023-10-12
    MySQL
  • PHP坑 之 关联数组未定义键的使用
    在挖坑之前,请先允许我简单介绍一下场景。 我所在的项目组要重构一个项目,当时使用的是PHP5版本,要升级到PHP7。除了将PHP版本升级之外,同时要将自己开发的框架(不是很完善) 换成la...
    99+
    2024-02-27
  • Python列表的定义及使用方法是什么
    这篇文章主要介绍“Python列表的定义及使用方法是什么”,在日常操作中,相信很多人在Python列表的定义及使用方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python列表的定义及使用方法是什么...
    99+
    2023-06-25
  • 使用自定义类型作为键的Go语言map
    标题:使用自定义类型作为键的Go语言map示例 在Go语言中,可以使用自定义类型作为map的键,这为我们提供了更灵活的数据存储方式。通过定义自定义类型,可以实现更复杂的键值关系,以满足...
    99+
    2024-04-02
  • 详细了解Golang同名方法的定义和使用
    Golang是一种强类型、静态编译语言,由谷歌公司开发。它的简洁语法和高效性使其成为很多互联网公司的首选语言。在这个语言中,同名方法是一种很有趣的语法特性。本文将介绍Golang同名方法的定义、使用场景以及注意事项。同名方法的定义在Gola...
    99+
    2023-05-14
  • CPU使用率的几个重要指标含义列举
    通常所说的CPU使用率,就是除了空闲时间外的其他时间占总CPU时间的百分比,CPU使用率有很多重要指标,具体含义如下:user(通常缩写为us),代表用户态CPU时间。注意,它包括下面的nice时间,但包括了guest时间。nice(通常缩...
    99+
    2023-06-05
  • 使用sql同时更新多个字段的方法
    这篇文章将为大家详细讲解有关使用sql同时更新多个字段的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在SQL中是用update语句来进行数据的更新的,而S...
    99+
    2024-04-02
  • Python 使用input同时输入多个数的操作
    我就废话不多说了,大家还是直接看代码吧~ n = input("1st enter:") print(n) print(type(n)) n = int(input("2nd...
    99+
    2024-04-02
  • 使用PHP怎么在两个文件中找出相同的记录
    使用PHP怎么在两个文件中找出相同的记录?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。引言给定a,b两个文件, 分别有x,y行数据, 其中(x, y均大于10亿...
    99+
    2023-06-15
  • 使用 HTML 定义列表创建结构化内容的艺术
    HTML 定义列表 (dl) 标签用于在网页中创建结构化的数据列表。它可以将数据项分组并添加描述,从而使数据更易于阅读和理解。 定义列表由一系列定义项 (dt) 和定义描述 (dd) 组成。定义项是数据项的名称或标题,而定义描述是数据项...
    99+
    2024-02-07
    HTML 定义列表 标签 结构化内容 数据列表 语义化
  • vue页面使用多个定时器的方法
    本文实例为大家分享了vue页面使用多个定时器的具体代码,供大家参考,具体内容如下 问题描述 vue页面使用多个定时器 html: <div class="prod-item"&...
    99+
    2024-04-02
  • 在MySQL中,为什么一个客户端不能使用另一个客户端定义的用户定义变量?
    在 MySQL 中,一个客户端定义的用户定义变量不能被另一个客户端看到或使用,因为用户定义变量是特定于连接的。这意味着当客户端退出时,给定客户端连接的所有变量都会自动释放...
    99+
    2023-10-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作