go 用 mysql web开发_go语言的gin框架+mysql做web开发,模型之间的关联问题

go语言的gin框架+mysql做web开发,模型之间的关联问题,下面有个示例:

package model

import "time"

// Article 文章

type Article struct {

ID uint `gorm:"primary_key" json:"id"`

CreatedAt time.Time `json:"createdAt"`

UpdatedAt time.Time `json:"updatedAt"`

DeletedAt *time.Time `sql:"index" json:"deletedAt"`

Name string `json:"name"`

BrowseCount uint `json:"browseCount"`

CommentCount uint `json:"commentCount"`

CollectCount uint `json:"collectCount"`

Status int `json:"status"`

Content string `json:"content"`

HTMLContent string `json:"htmlContent"`

ContentType int `json:"contentType"`

Categories []Category `gorm:"many2many:article_category;ForeignKey:ID;AssociationForeignKey:ID" json:"categories"`

Comments []Comment `gorm:"ForeignKey:SourceID" json:"comments"`

UserID uint `json:"userID"`

User User `json:"user"`

LastUserID uint `json:"lastUserID"` //最后一个回复文章的人

LastUser User `json:"lastUser"`

LastCommentAt *time.Time `json:"lastCommentAt"`

}

问题:

1、User和Article是一对多的关系,不太明白上面的代码为什么要把User和UserID都写上,只写UserID不就行了吗?

2、这里写上User,意思是articles表有一个user字段来保存这个user的信息?

补充:

建表的sql代码又没有写user字段,那上面Article结构体为什么要写上User?

21a6a77efa9dbb6ea8374977e0f2b313.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值