heritage-api/mysql/option-mysql.go

48 lines
872 B
Go

package mysql
import (
"errors"
"gorm.io/gorm"
"myschools.me/heritage/heritage-api/model"
)
// 获取选项
func OptionPluck(name *string) ([]string, error) {
db, err := newDB()
if err != nil {
return nil, err
}
var options []string
if err := db.Where("option_name=?", *name).Pluck("option_value", &options).Error; err != nil {
if errors.Is(err, gorm.ErrRecordNotFound) {
return nil, nil
}
}
return options, nil
}
// 获取选项数量
func OptionCount() (*int64, error) {
db, err := newDB()
if err != nil {
return nil, err
}
var count int64
if err := db.Model(&model.Option{}).Count(&count).Error; err != nil {
return nil, err
}
return &count, nil
}
// OptionCreateBatch 批量创建选项
func OptionCreateBatch(options []model.Option) error {
db, err := newDB()
if err != nil {
return err
}
return db.Create(&options).Error
}