在使用gorm创建关系模型时, 出现了这个错误, google了一下这个错误, 解决了问题
首先我之前的模型定义是:
type Ticket struct { ID int `gorm:"primaryKey;autoIncrement;size:11"` Workflow Workflow WorkflowID int `gorm:"column:workflow_id"` WorkflowState WorkflowState WorkflowStateID int `gorm:"column:workflow_state"` Relation string `gorm:"size:1000"` User Users CreateUser int `gorm:"column:create_user"` Title string `gorm:"size:100"` Participant string `gorm:"size:1000"` ParticipantType int `gorm:"column:participant_type"` ActState int `gorm:"act_state"` TicketInput string `gorm:"column:ticket_input"` CreateTime FormartTime `gorm:"column:create_time"` UpdateTime FormartTime `gorm:"column:update_time"` Description string }
在数据库中的表格结构是这样的

问题就出在User这个属性上, 我们需要改成
type Ticket struct { ID int `gorm:"primaryKey;autoIncrement;size:11"` Workflow Workflow WorkflowID int `gorm:"column:workflow_id"` WorkflowState WorkflowState WorkflowStateID int `gorm:"column:workflow_state"` Relation string `gorm:"size:1000"` User Users `gorm:"foreignKey:CreateUser;references:ID"` CreateUser int `gorm:"column:create_user"` Title string `gorm:"size:100"` Participant string `gorm:"size:1000"` ParticipantType int `gorm:"column:participant_type"` ActState int `gorm:"act_state"` TicketInput string `gorm:"column:ticket_input"` CreateTime FormartTime `gorm:"column:create_time"` UpdateTime FormartTime `gorm:"column:update_time"` Description string }
User Users `gorm:"foreignKey:CreateUser;references:ID"
`
由于我们的外键不是默认的字段名, 所以需要用forignKey与references指定我们的外键关系
发表回复