// ========================================================================== // Code generated and maintained by GoFrame CLI tool. DO NOT EDIT. // ========================================================================== package internal import ( "context" "github.com/gogf/gf/v2/database/gdb" "github.com/gogf/gf/v2/frame/g" ) // BannerDao is the data access object for the table hg_banner. type BannerDao struct { table string // table is the underlying table name of the DAO. group string // group is the database configuration group name of the current DAO. columns BannerColumns // columns contains all the column names of Table for convenient usage. handlers []gdb.ModelHandler // handlers for customized model modification. } // BannerColumns defines and stores column names for the table hg_banner. type BannerColumns struct { Id string // 主键 TenantId string // 租户ID Name string // 后台名称 Position string // 投放位置 ImageAttachmentId string // 图片附件ID ImageUrl string // 图片URL AltText string // 替代文本 TargetType string // 跳转类型 TargetValue string // 跳转值 StartAt string // 开始时间 EndAt string // 结束时间 PublishStatus string // 发布状态 Sort string // 排序 Version string // 乐观锁 Remark string // 备注 CreatedBy string // 创建者 UpdatedBy string // 更新者 DeletedBy string // 删除者 CreatedAt string // 创建时间 UpdatedAt string // 更新时间 DeletedAt string // 删除时间 } // bannerColumns holds the columns for the table hg_banner. var bannerColumns = BannerColumns{ Id: "id", TenantId: "tenant_id", Name: "name", Position: "position", ImageAttachmentId: "image_attachment_id", ImageUrl: "image_url", AltText: "alt_text", TargetType: "target_type", TargetValue: "target_value", StartAt: "start_at", EndAt: "end_at", PublishStatus: "publish_status", Sort: "sort", Version: "version", Remark: "remark", CreatedBy: "created_by", UpdatedBy: "updated_by", DeletedBy: "deleted_by", CreatedAt: "created_at", UpdatedAt: "updated_at", DeletedAt: "deleted_at", } // NewBannerDao creates and returns a new DAO object for table data access. func NewBannerDao(handlers ...gdb.ModelHandler) *BannerDao { return &BannerDao{ group: "default", table: "hg_banner", columns: bannerColumns, handlers: handlers, } } // DB retrieves and returns the underlying raw database management object of the current DAO. func (dao *BannerDao) DB() gdb.DB { return g.DB(dao.group) } // Table returns the table name of the current DAO. func (dao *BannerDao) Table() string { return dao.table } // Columns returns all column names of the current DAO. func (dao *BannerDao) Columns() BannerColumns { return dao.columns } // Group returns the database configuration group name of the current DAO. func (dao *BannerDao) Group() string { return dao.group } // Ctx creates and returns a Model for the current DAO. It automatically sets the context for the current operation. func (dao *BannerDao) Ctx(ctx context.Context) *gdb.Model { model := dao.DB().Model(dao.table) for _, handler := range dao.handlers { model = handler(model) } return model.Safe().Ctx(ctx) } // Transaction wraps the transaction logic using function f. // It rolls back the transaction and returns the error if function f returns a non-nil error. // It commits the transaction and returns nil if function f returns nil. // // Note: Do not commit or roll back the transaction in function f, // as it is automatically handled by this function. func (dao *BannerDao) Transaction(ctx context.Context, f func(ctx context.Context, tx gdb.TX) error) (err error) { return dao.Ctx(ctx).Transaction(ctx, f) }