假设我们有两个模型,一个是用户(User),一个是订单(Order)。每个订单都属于一个用户,因此订单模型有一个外键 user_id 与用户模型关联。

我们可以使用 GORM 的 Preload 和 Joins 方法来加载用户和订单数据,并将它们关联起来。以下是一个示例代码:

type User struct {
    ID    uint
    Name  string
    Email string
}

type Order struct {
    ID      uint
    UserID  uint
    Amount  float64
}

func main() {
    db, err := gorm.Open("mysql", "user:password@tcp(localhost:3306)/database_name?charset=utf8mb4&parseTime=True&loc=Local")
    if err != nil {
        panic(err)
    }
    defer db.Close()

    var orders []Order
    db.Preload("User").Find(&orders)

    // 或者使用 Joins 方法
    // db.Joins("User").Find(&orders)
}

在上面的代码中,我们使用了 Preload 方法来加载订单数据,并将它们关联到用户数据上。我们也可以使用 Joins 方法来达到同样的效果。关键是要确保在模型中定义了正确的关联关系,这样 GORM 才能正确地加载和关联数据。

GORM Preload 和 Joins 联合使用:指定关联表示例

原文地址: https://www.cveoy.top/t/topic/mQpZ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录