事务处理
常规写法
tx, err := g.DB().Begin(ctx)
if err == nil {
_, err := tx.Model("book").Data(data).Save()
if err == nil {
tx.Commit()
} else {
tx.Rollback()
}
}
闭包写法(框架建议写法)
g.DB().Transaction(context.TODO(), func(ctx context.Context, tx gdb.TX) error {
_, err := tx.Model("book").Ctx(ctx).Save(data)
return err
})