2023-03-16 19:00:17 +08:00

27 lines
455 B
Go

package relation
import (
"context"
"gorm.io/gorm"
)
type MetaDB struct {
DB *gorm.DB
table interface{}
}
func NewMetaDB(db *gorm.DB, table any) *MetaDB {
return &MetaDB{
DB: db,
table: table,
}
}
func (g *MetaDB) db(ctx context.Context) *gorm.DB {
return g.DB.WithContext(ctx).Model(g.table)
}
func (g *MetaDB) page(pageNumber, showNumber int32) *gorm.DB {
return g.DB.Limit(int(showNumber)).Offset(int(pageNumber*showNumber-1))
}