做毕设ing,基本的增删改查。
这里是一个需要增的地方,代码如下:
func (BI *BlogImpl) CreateBlog(ctx context.Context, blogInformation repo.BlogInformation) (repo.BlogInformation, error) {
err := BI.Db.Table(BlogTable).Create(&blogInformation).Error
fmt.Println(blogInformation.Bid, "createBlog")
if err != nil {
return repo.BlogInformation{}, err
}
return blogInformation, nil
}
我在外层调用时候,是需要返回新增记录的ID。但是无法符合预期。通过打印发现,我这里返回的id就是0。
翻阅之前写的一个正确样例,对比发现
type BlogInformation struct {
Bid int `gorm:"column:bid"`
}
区别在于,我这里没有去指定主键。
根据官方文档,其demo中提到:
创建记录
user := User{Name: "Jinzhu", Age: 18, Birthday: time.Now()}
result := db.Create(&user) // 通过数据的指针来创建
user.ID // 返回插入数据的主键
result.Error // 返回 error
result.RowsAffected // 返回插入记录的条数
这个修改需要主键,所以应该在gorm指定一下。
https://gorm.io/zh_CN/docs/create.html
官网文档这里