模式不支持的关系

Unsupported relations for schema

我有四个嵌套模型(这里简化):

type Client struct {
    gorm.Model
    UUID                   uuid.UUID `gorm:"type:uuid"`
    Activity               Activity 
}

type Activity struct {
    gorm.Model
    ClientID        uint
    LoginActivities []LoginActivity
}

type LoginActivity struct {
    gorm.Model
    ActivityID uint
    UUID       uuid.UUID
    Timestamp  time.Time
    Device     DeviceInfo
}

type DeviceInfo struct {
    gorm.Model
    LoginActivityID uint
    Platform        string
}

我想检索所有嵌套模型:

database.db.
    Where("uuid = ?", clientID).
    Preload("Activity.LoginActivities.DeviceInfos").
    First(&client). 
    Error

但是,我收到错误 DeviceInfos: unsupported relations for schema LoginActivity

是模型设置错误还是查询错误?

您使用了 Preload("Activity.LoginActivities.DeviceInfos"),但表示 LoginActivity 中关系的成员是 Device

您应该使用 Preload("Activity.LoginActivities.Device")

预加载