模式不支持的关系
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")
预加载
我有四个嵌套模型(这里简化):
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")