go-importer/gorm_models/brand.go

42 lines
774 B
Go
Raw Permalink Normal View History

2022-08-12 08:59:03 +00:00
package gorm_models
import (
"log"
"time"
"github.com/gosimple/slug"
"gorm.io/gorm"
)
type Brand struct {
ID uint `gorm:"primary_key"`
CreatedAt time.Time
UpdatedAt time.Time
2022-08-25 05:39:59 +00:00
Name string `gorm:"default:TESTBRAND"`
2022-08-12 08:59:03 +00:00
Code string
Status bool
Categories []Category `gorm:"many2many:category_brands;"`
}
func FindOrCreateBrand(db *gorm.DB, brand string, categories []Category) Brand {
var brandObject Brand
if brand != "" {
code := slug.Make(brand)
2022-08-12 09:45:45 +00:00
err := db.Omit("Categories").FirstOrCreate(&brandObject, Brand{Name: brand, Code: code, Categories: categories}).Error
2022-08-12 08:59:03 +00:00
// err := db.Model(&Brand{}).Find(&brandObject).Error
if err != nil {
log.Println(err.Error())
}
}
// var brandObject Brand
return brandObject
}