3
我有我的模型:DB查询命令正在生产奇怪的SQL查询
type Report struct {
ID int `json:"id,omitempty" gorm:"primary_key"`
Title *string `json:"title" gorm:"not null"`
}
我已经初始化的变量report
为我已经成功地自动迁移该模型的数据库表和使用GORM的db.Create(&report)
已填充数据库sql INSERT
。
我面临的问题是在尝试查询命令时。通过GORM如db.Find(&report)
,db.First(&report, 1)
所支持的所有查询命令时产生的查询,如folows:
SELECT * FROM "reports" WHERE "reports"."deleted_at" IS NULL AND ((id = $1))
SELECT * FROM "reports" WHERE "reports"."deleted_at" IS NULL AND ((id = $1))
SELECT * FROM reports WHERE (reports.deleted_at IS NULL) AND ((id = $1))
SELECT * FROM reports WHERE (reports.deleted_at IS NULL) AND ((id = $1))
SELECT 0 done
我无法查询数据库。我正在用蟑螂db使用GORM。这在使用GO pq驱动程序和原始sql命令时工作正常。
正是我所困惑的。我没有定义任何名为'DeletedAt'的字段,也没有定义'gorm.Model'。我只在'httprouter'下定义了一个'Report struct'和封装的gorm来插入和查询每个。 'db.create'工作正常。在'db.Find'中使用错误函数返回'找不到记录'。顺便说一句,我基于由cockroachlabs提供的example-orm包密切推导出我的代码。 – 1tree
我再次尝试,但无法找出问题所在。在GORM的文档中以** Query With Where(Struct&Map)**的形式提供的示例也不起作用。同时,我使用GORM的原始查询作为'db.Raw(“SELECT * FROM reports”)。扫描(&report)',并且目前看起来似乎正常。 – 1tree