Gorm预加载时如何制定关联关系表中某个字段的值
结构体代码如下:
type UpgradeTask struct {
Id int `json:"id" gorm:"primaryKey"`
PreScripts []Script `json:"pre_scripts" gorm:"many2many:yb_task_script_relation;ForeignKey:id;JoinForeignKey:task_id;References:id;JoinReferences:script_id;constraint:OnUpdate:CASCADE,OnDelete:CASCADE;"`
PostScripts []Script `json:"post_scripts" gorm:"many2many:yb_task_script_relation;ForeignKey:id;JoinForeignKey:task_id;References:id;JoinReferences:script_id;constraint:OnUpdate:CASCADE,OnDelete:CASCADE;"`
}
type Script struct {
Id int `json:"id" gorm:"primaryKey"`
ScriptName string `json:"script_name"`
}
type TaskScript struct {
Id int `json:"-" gorm:"id;primaryKey"`
TaskId int `json:"task_id"`
ScriptId int `json:"script_id"`
ScriptType int `json:"script_type"`
}
在 UpgradeTask 表中存在 PreScripts 和 PostScripts 字段信息,其中 PreScripts 为关联关系表 TaskScript 表中 ScriptType 为 1 的 Script 数据信息,PostScripts 为关联关系表 TaskScript 表中 ScriptType 为 2 的 Script 数据信息,在查询 UpgradeTask 时需同时查询出该记录所对应的 PreScripts 和 PostScripts 信息,该怎么写代码?
推荐文章: