戈姆deleted_at"是空的



我刚开始学习GORM,目前正在尝试从一个到多个表中获取数据。我有两个表:用户和文档。一个用户可以拥有多个文档。当我尝试获取文档时,我一直得到错误

documents: unsupported relations for schema User
SELECT * FROM "users" WHERE "users"."deleted_at" IS NULL
下面是我试图获取数据的代码
type User struct {

gorm.Model
Name         string 
Email         string    
Password  string    
Documents []Document
}
type Document struct {

gorm.Model
Name         string 
DateCreated         string  
UserID uint 

}

获取数据的函数

func GetAll(db *gorm.DB) ([]models.User, error) {
var users []models.User
// err := db.Model(&models.User{}).Preload("documents").Find(&users).Error
err:=db.Preload("documents").Find(&[]models.User{}).Error
fmt.Println(err)
fmt.Println("got users")
return users, err
}

我在这里做错了什么?

这是由于您的Table没有包含相关字段"deleted_at"就像您使用了gorm.Model一样。如果你用gorm。模型,它将自动集成4个字段作为

ID: an auto-incrementing integer primary key
CreatedAt: a timestamp of when the record was created
UpdatedAt: a timestamp of when the record was last updated
DeletedAt: a soft delete timestamp used to mark the record as deleted instead of    actually deleting it from the database.

如果不需要,可以直接使用

db.Unscoped().
Ex:
db.Unscoped().Where("param = ?", "param").Find(&YourStruct)

然后它会解决这个问题。

[我知道你已经解决了这个问题,但我为任何其他面临类似情况的人添加了这个]

相关内容

  • 没有找到相关文章

最新更新