package models import ( "gorm.io/gorm" ) type GraphLink struct { BaseModel StageID string `json:"stage_id" gorm:"column:stage_id;type:varchar(255);not null"` SourceID string `json:"source_id" gorm:"column:source_id;type:varchar(255);not null"` TargetID string `json:"target_id" gorm:"column:target_id;type:varchar(255);not null"` LinkID string `json:"link_id" gorm:"column:link_id;type:varchar(255);not null"` } // 获取前置节点 func (gl *GraphLink) SourceNode(db *gorm.DB) (*GraphNode, error) { var node GraphNode err := db.Where("id = ?", gl.SourceID).First(&node).Error return &node, err } // 获取后置节点 func (gl *GraphLink) TargetNode(db *gorm.DB) (*GraphNode, error) { var node GraphNode err := db.Where("id = ?", gl.TargetID).First(&node).Error return &node, err }