From abdfc23a0e155a963d1f9a936f09c70a039ee7b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E8=8C=B6=E6=B8=85=E6=AC=A2?= Date: Thu, 6 Apr 2023 22:12:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9B=E5=BB=BA=E6=94=AF=E6=8C=81=E6=8C=87?= =?UTF-8?q?=E5=AE=9A=E8=A1=A8=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- base.go | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/base.go b/base.go index 491bf61..0bb19e9 100644 --- a/base.go +++ b/base.go @@ -17,7 +17,7 @@ import ( // // Date : 14:13 2023/2/9 type BaseDao struct { - TableName string // 继承BaseDao,需要指定表名,后续调用不用传递表名进来 + TableName string // 继承BaseDao,需要指定表名,后续调用不用传递表名进来,如果分表了,使用SetOption设置表名, 这里的优先级更高 } // Create 创建新的数据 @@ -25,8 +25,16 @@ type BaseDao struct { // Author : go_developer@163.com<白茶清欢> // // Date : 8:06 下午 2021/8/8 -func (b *BaseDao) Create(dbInstance *gorm.DB, data interface{}) error { - return dbInstance.Create(data).Error +func (b *BaseDao) Create(dbInstance *gorm.DB, data interface{}, optionList ...SetOption) error { + o := &Option{} + for _, itemFunc := range optionList { + itemFunc(o) + } + tableName := b.TableName + if len(o.Table) > 0 { + tableName = o.Table + } + return dbInstance.Table(tableName).Create(data).Error } // Update 更新数据